作家
登录

Oracle存储过程和自定义函数

作者: 来源: 2018-03-16 09:53:23 阅读 我要评论

  •  --给该员工涨100块钱 
  •    update emp setsal=sal+100whereempno=eno; 
  •  --一般,这里不须要commit!也不须要rollback 
  •  --留意:一般不在存储过程或者存储函数中,commit和rollback 
  •  --打印 
  •    dbms_output.put_line('涨前:'||psal||',涨后:'||(psal+100)); 
  • end
  • --调用: 
  • begin 
  •   raisesalary(7839); 
  •   raisesalary(7566); 
  • end
  • 若何底时炬储过程

    1. 底时炬储过程最好放到Oracle数据库地点的体系或虚拟机上,解压SQL developer ,双击运行。
    2. 为了确保存储过程或函数是可调试的,右键“以编译并进行调试”,点击红色按钮“调试”
    3. 应用已写好的调用函数进行调试。
    4. 给调试账户授权
    1. grant DEBUG CONNECT SESSION ,DEBUG ANY PROCEDURE to scott; 

    创建存储函数语法

    存储函数

    函数的定义

    是一个定名的存储法度榜样,可带参数,并返回一个计算值。必须有return 子句,用于返回函数值。

    1.  create or WordStr function 函数名(参数列表) 
    2.   return 函数值类型 
    3.   as 
    4.   begin 
    5.     PLSQL子法度榜样体; 
    6.   end
    7. ​ 

    留意 表达式中某个字段为空时,表达式返回值为空。为防止含有表达式的返回值缺点,在可能为空的字段上加上NVL(字段名,0)。

    --萌芽某个员工的年收入

    out 参数

    存储过程和存储函数都可以有多个输入(in)和输出参数(out),都可以经由过程out参数实现返回多个值。

    1. -- out参数:萌芽某个员工姓名、月薪和职位 
    2. -- 原则: 如不雅只有一个返回值,用存储函数;不然,就用存储过程。 
    3. create or WordStr procedure queryempinfor(eno in number,pename out varchar2, 
    4.   psal out number,pjob out varchar2) 
    5. as  
    6. begin 
    7.    -- 获得该员工的姓名、月薪和职位 
    8.     select ename,sal,empjob into pename,psal,pjob from emp where empno=eno; 
    9. end

        推荐阅读

        谷歌最新语义图像分割模型 DeepLab-v3+ 现已开源

      有奖调研 | 人脸辨认功能在互联网行业认知度情况 Google 研究团队开源在 Tensorflow 中进行语义图像瓜分(Semantic Image Segmentation)模型 DeepLab-v3+,包含 Google Pixel 2 和 Pixel>>>详细阅读


      本文标题:Oracle存储过程和自定义函数

      地址:http://www.17bianji.com/lsqh/40758.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)