--建立測試數據:
create table BOOK(編號 number(10),書名 varchar2(20),價格 varchar2(20))
insert into BOOK values(100,'aa','88.77')
select * from BOOK
--建立存儲過程:
create or replace procedure query_BOOK(name IN OUT NUMBER,MY_BOOK OUT VARCHAR2,MY_BOOK2 OUT VARCHAR2) is
begin
select 編號 ,書名,價格 INTO name,MY_BOOK,MY_BOOK2 from BOOK where 編號=name;
end query_BOOK;
--調用存儲過程:
declare v_name number(10);
v_my_book varchar2(50);
v_my_book2 varchar2(20);
begin
v_name := 100;
query_BOOK(v_name,v_my_book,v_my_book2); --調用存儲過程
dbms_output.put_line('v_name is: '||v_name);
dbms_output.put_line('v_my_book is: '||v_my_book);
dbms_output.put_line('v_my_book2 is: '||v_my_book2);
exception
when others then
dbms_output.put_line(sqlerrm);
end;
ps:
plsql developer -->File-->new--->SQL window-->然後就可以在彈出的空白窗口裏寫了.
存儲過程寫完後,是否有錯,可以看plsql developer 的左邊列表:
選"My objects"-->procedures-->展開-->看你對應的存儲過程,如果存儲過程前面有紅色交叉,則表示存儲過程有錯.