基本使用
- 存储过程调用
1.没有out,直接调用call方法
2.有out,则需要创建一个储存函数或者匿名块
- 打开输出
set serveroutput on
- 调用方法
call 方法(参数)
- 删除方法
drop procedure 方法名;
无参构造
--注意这里面的方法不能有()
create or replace procedure getMax
is
var_x number:=1;
var_y number:=2;
begin
if var_x > var_y
then dbms_output.put_line('Hello,world');
else
dbms_output.put_line('GoodBye,world');
end if;
end;
有参构造(没有进行输出)
create or replace procedure getMax(var_x number,var_y number)
is
begin
if var_x > var_y
then dbms_output.put_line('Hello,world');
else
dbms_output.put_line('GoodBye,world');
end if;
end;
有参构造(进行输出)
创建储存过程
create or replace procedure getSum(var_x in number,var_y in number,var_result out number)
is
begin
if var_x > var_y
then dbms_output.put_line('Hello,world');
else
dbms_output.put_line('GoodBye,world');
end if;
var_result := var_x + var_y;
end;
调用储存过程
declare
var_result number:=0;
begin
getSum(1,2,var_result);
dbms_output.put_line('var_result='||var_result);
end;
存储过程查看
SELECT TEXT FROM ALL_SOURCE
WHERE TYPE = 'PROCEDURE' AND
OWNER = 'SCOTT'
ORDER BY NAME, LINE;