1. 程式人生 > >Oracle儲存過程的簡單舉例

Oracle儲存過程的簡單舉例

一、建立測試資料

--建立測試資料:
create table person(編號 number(10),姓名 varchar2(20),密碼 varchar2(20));

insert into person values(1,'xzw','888');

select * from person;

查詢結果如下:

二、建立儲存過程

--建立儲存過程:
create or replace procedure query_person(ID IN OUT NUMBER,NAME OUT VARCHAR2,pwd OUT VARCHAR2) is
begin
select 編號, 姓名, 密碼 INTO id,NAME,pwd from person where 編號=ID;  
end query_person;

在plsql的左側欄-->Procedures中會顯示剛剛建立的儲存過程,如果所寫的儲存過程是錯誤的,在其上會顯示一個紅色的叉號:

這裡,我們建立的儲存過程是正確的。

三、呼叫儲存過程

--呼叫儲存過程:
declare ID number(10);
 NAME varchar2(50);
 pwd varchar2(20);
begin
  ID := 1;
  query_person(ID,NAME,pwd); --呼叫儲存過程
  dbms_output.put_line('ID is: '||ID);
  dbms_output.put_line('name is: '||NAME);  
  dbms_output.put_line('pwd is: '||pwd);  
exception
  when others then
  dbms_output.put_line(sqlerrm);
end;

呼叫儲存過程後,正常情況下會輸出我們想要的資訊,如下圖所示:

如果發生異常則會打印出sqlerrm的相關資訊,如下:

ORA-0000: normal, successful completion