010--存储过程

基本使用

  • 存储过程调用

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;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容