ORACLE 建立儲存過程,儲存函式
阿新 • • 發佈:2018-12-30
基本概念
儲存過程和儲存函式相當於一個東西。
儲存過程在Oracle裡叫procedure。
儲存過程沒有返回值。
儲存函式在Oracle裡叫function。
儲存函式有返回值。
基本語法
create or replace procedure 名字
--create or replace 意思是建立或者替換
as
--可以在此定義引數
begin
語句;
end;
例:
create or replace procedure sayhello
as
--說明 相當與declare
begin
dbms_output.put_line('Hello World');
end;
基本呼叫
begin -- Call the procedure sayhello; sayhello; sayhello; end;
帶引數的儲存過程
--給指定人員漲工資
create or replace procedure upmoney(testname in test_procedure.name%type)
as
begin
update test_procedure t
set t.money = t.money + 1000
where t.name = testname;
end upmoney;
特別的地方,引數要指明是輸入引數還是輸出引數。
儲存函式
--查詢某個員工的年收入 create or replace function Fupmoney(tname in varchar2) return number as --定義月薪引數 tmoney test_procedure.money%type; begin --得到月薪 select t.money into tmoney from test_procedure t where t.name = tname; dbms_output.put_line(tmoney*12); return(tmoney*12); end;
建立一個多輸出引數的儲存函式例子
create or replace procedure manyparm(tname in varchar2, tjob out varchar2, tmoney out number, tdept out varchar2) is begin select t.job,t.money,t.dept into tjob,tmoney,tdept from test_procedure t where t.name = tname; end manyparm;