在oracle中支持将PL/SQL创建并编译保存在数据库中,以便随时可以调用。其中存储过程就是一类。
存储过程是将商业逻辑、企业规则等写成过程并保存在数据库中,通过名称来进行调用,做到更好的共享和使用。
创建存储过程
语法:
无参存储过程:
执行存储过程
语法:
调用存储过程
可以直接调用过程名就可以调用存储过程。
例如:
语法:
存储过程是将商业逻辑、企业规则等写成过程并保存在数据库中,通过名称来进行调用,做到更好的共享和使用。
创建存储过程
语法:
create [or replace] procedure <过程名>(参数1 in|out|in-out 参数类型,参数2 in|out|in-out 参数类型,......)
as | is
begin
过程体;
end;</span>
例如:无参存储过程:
create or replace procedure firPro
as
begin
dbms_output.put_line('Hello World!');
end;</span>
有参存储过程: create or replace procedure stuPro(name in varchar,seat out varchar)
as
begin
select stu_seat into seat from student where stu_name = name;
end;</span>
执行存储过程
语法:
execute <过程名>;</span>
例如: execute firPro;</span>
也可以用: begin
firPro();
end;</span>
来调用执行。调用存储过程
可以直接调用过程名就可以调用存储过程。
例如:
declare
name varchar2(20);
seat varchar2(20);
begin
stuPro('杨过',seat);
end;</span>
完整例子: create or replace procedure stuPro
as
cursor stuCur is select stu_name from student;
name varchar(20);
begin
open stuCur;
fetch stuCur into name;
while stuCur%found loop
if name ='杨过' then
SYS.DBMS_OUTPUT.put_line(name+'is student');
end if;
end loop;
close stuCur;
end;</span>
删除存储过程语法:
drop procedure <过程名>;</span>
例如: drop procedure stuPro;</span>