Oracle函数和存储过程简单实例


1.函数

1)创建函数

  1. create or replace function get_tax(x number)  
  2.   
  3. return number as   
  4.   
  5. begin  
  6.   
  7.  declare y number;  
  8.   
  9.  begin  
  10.   
  11.    y:=x-2000;  
  12.   
  13.    if x <= 0 then  
  14.   
  15.      return 0;  
  16.   
  17.      end if;  
  18.   
  19.      return y*5/100;  
  20.   
  21.      end;  
  22.   
  23.      end get_tax;  

2)执行函数

  1. SQL> select get_tax(1000) from dual;  

结果显示:

  1. GET_TAX(1000)  
  2.   
  3. -------------  
  4.   
  5.          -50  

2.存储过程

1)存储过程(in

创建:

  1. create or replace procedure update_test(uid in varchar2,uname in varchar2)  
  2. as  
  3. begin  
  4.  update test set username=uname where userid=uid;  
  5.  commit;  
  6.  end update_test;  

执行:
  1. SQL> execute update_test('06','LinuxIDC');  

2)存储过程(out

创建:

  1. create or replace procedure test_up(uid out varchar2,uname out varchar2)  
  2.   
  3. as   
  4.   
  5. begin   
  6.   
  7. select * into uid,uname from test where userid='04';//不能缺少into关键字  
  8.   
  9. end test_up;  
执行:
  1. SQL> var id varchar2(10);  
  2. SQL> var name varchar2(30);  
  3. SQL> exec test_up(:id,:name);//括号里必须加上冒号,这和in的不同  
结果显示:
  1. PL/SQL procedure successfully completed  
  2.   
  3. id  
  4.   
  5. ---------  
  6.   
  7. 04  
  8.   
  9. name  
  10.   
  11. ---------  
  12.   
  13. LinuxIDC  

更多Oracle相关信息见Oracle 专题页面 http://www.bkjia.com/topicnews.aspx?tid=12

相关内容