基本使用
- 存儲過程調用
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;