Welcome 微信登录

首页 / 数据库 / MySQL / 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.linuxidc.com/topicnews.aspx?tid=12Oracle教程:移动所有数据文件Oracle用户之间表的访问和账户的锁定与解锁相关资讯      Oracle高级培训 
  • delete表的数据后恢复  (08/30/2012 08:59:58)
  • 使用ASH信息,发现高CPUsession  (08/14/2012 07:21:32)
  • 如何阅读Oracle Errorstack Output  (08/14/2012 07:15:47)
  • Oracle Apps Patching:adpatch(  (08/16/2012 15:41:37)
  • 话说V$SQL_MONITOR  (08/14/2012 07:19:54)
  • Oracle Apps DBA工具:ADADMIN使用  (08/14/2012 07:00:09)
本文评论 查看全部评论 (0)
表情: 姓名: 字数