存储过程和事务
一、存储过程
1、什么是存储过程?
存储过程(Stored Procedure )是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
存储过程是一种命名的pl/sql程序块。
有没有参数都可以,但是没有返回值(return)
存储过程保存在数据库中,不可以被sql语句直接执行或调用,只能通过excute命令执行或PL/SQL程序块内部调用。
优点:
1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
2.当对数据库进行复杂操作时(如对多个表进行Update、Insert、select、Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。
3.存储过程可以重复使用,可减少数据库开发人员的工作量。
4.安全性高,可设定只有某用户才具有对指定存储过程的使用权
2、创建存储过程
存储过程和普通PL/SQL不同之处:
1)存储过程需要使用关键字procedure关键字
2)创建存储过程不需要declare,而使用create or replace关键字
语法:
create or replace procedure 过程名称 [参数1,参数2,…] is
begin
pl/sql语句;
exception
异常语句;
end;
/
1)创建无参过程。实现向dept表中插入一条数据。
create or replace procedure insertDept is