1.函數
1)建立函數
- create or replace function get_tax(x number)
-
- return number as
-
- begin
-
- declare y number;
-
- begin
-
- y:=x-2000;
-
- if x <= 0 then
-
- return 0;
-
- end if;
-
- return y*5/100;
-
- end;
-
- end get_tax;
2)執行函數
- SQL> select get_tax(1000) from dual;
結果顯示:
- GET_TAX(1000)
-
- -------------
-
- -50
2.預存程序
1)預存程序(in)
建立:
- create or replace procedure update_test(uid in varchar2,uname in varchar2)
- as
- begin
- update test set username=uname where userid=uid;
- commit;
- end update_test;
執行:
- SQL> execute update_test('06','LinuxIDC');
2)預存程序(out)
建立:
- create or replace procedure test_up(uid out varchar2,uname out varchar2)
-
- as
-
- begin
-
- select * into uid,uname from test where userid='04';//不能缺少into關鍵字
-
- end test_up;
執行:
- SQL> var id varchar2(10);
- SQL> var name varchar2(30);
- SQL> exec test_up(:id,:name);//括弧裡必須加上冒號,這和in的不同
結果顯示:
- PL/SQL procedure successfully completed
-
- id
-
- ---------
-
- 04
-
- name
-
- ---------
-
- LinuxIDC
更多Oracle相關資訊見Oracle 專題頁面 http://www.bkjia.com/topicnews.aspx?tid=12