存储过程定义:存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
编写存储过程主要涉及以下几个知识点:
- 存储过程的结构
- 变量的定义和赋值使用
- 判断语句
- 循环语句
- 游标使用
- 异常捕获处理
1、存储过程的结构
–在sql窗口中的写法,使用declare修饰,后面接变量的定义,如下:
declare
--定义变量
i varchar(20):='5';
begin
--执行体这里使用DML语句(数据操纵语句,比如insert、update、delete)、
--TCL语句(工具命令语句)
i:='6';
select '7' into i from dual;
end;
–写成procedure存储过程,is关键字后面接变量定义,如下:
create or replace procedure Test_1(a in int) is
--定义变量
i varchar(20):='5';
begin
--执行体这里使用
--DML语句(数据操纵语句,比如insert、update、delete)
--TCL语句(工具命令语句)
i:='6';
select '7' into i from dual;
end;
2、变量的定义和赋值使用
create or replace procedure Test_5(a in int, b date, c out number, d in out varchar2)
is
--定义变量
i varchar(20):='5';
j integer;
k date;
--取TEST表的ID的字段类型做为自己的类型
arg1 TEST.ID%type;
--取TEST表的所有字段和类型做为自己的字段和类型(相当于TEST表一行的所有类型)
tab1 TEST%rowtype;
begin
i:='6';
select * into tab1 from TEST where ID='id';
select ID into tab1.ID from TEST where ID='id';
end;
上面存储过程说明:
1