Oracle儲存過程的簡單使用
阿新 • • 發佈:2019-01-10
我在這就不囉嗦儲存過程理論內容了,直接上乾貨,通過三個簡單的例子理解儲存過程,如果對PL/SQL程式設計比較瞭解的話,儲存過程就很容易了。
使用儲存過程顯示所有dept的資訊
create or replace procedure proc_1
is
cursor cur_dept is select * from dept;
begin
for rec_dept in cur_dept
loop
dbms_output.put_line(rec_dept.dname);
end loop;
end;
/
//執行方法1
exec proc_1;
//執行方法2
begin
proc_1;
end ;
/
無參儲存過程也是最簡單的
使用儲存過程按照部門號(deptno)查詢部門名(dname)
方法1
create or replace procedure proc_2(v_deptno dept.deptno%type)
is
v_dname dept.dname%type;
begin
select dname into v_dname from dept where deptno = v_deptno;
dbms_output.put_line(v_dname);
end;
/
//執行方法1
exec proc_2(10);
//執行方法2
begin
proc_2(10 );
end;
/
相比於第一個例子只是添加了一個引數
方法2
create or replace procedure proc_3(v_deptno dept.deptno%type,
v_dname out dept.dname%type)
is
begin
select dname into v_dname from dept where deptno = v_deptno;
end;
/
//執行方法
declare
v_dname dept.dname%type;
begin
proc_3(10,v_dname);
dbms_output.put_line(v_dname);
end ;
/
這裡最需要注意的地方是引數後out,引數型別有in,out,預設為in。為了方便理解可以將in看作值傳遞,out看作地址傳遞