设为首页 收藏本站
查看: 1194|回复: 0

[经验分享] DB2存储过程语法

[复制链接]

尚未签到

发表于 2016-11-18 09:18:05 | 显示全部楼层 |阅读模式
  原文 http://zhuyuehua110.blog.163.com/blog/static/918619420107953555989/
  语法:   
CREATE PROCEDURE <schema-name>.<procedure-name> (参数) [属性] <语句>   

  

--参数:SQL PL 存储过程中有三种类型的参数:   

     IN:输入参数(默认值,也可以不指定)   

     OUT:输出参数   

     INOUT:输入和输出参数   

  

--属性   

1、LANGUAGE SQL   

指定存储过程使用的语言。LANGUAGE SQL 是其默认值。还有其它的语言供选择,比如Java 或者C,可以将这一属性值分别设置为LANGUAGE JAVA 或者 LANGUAGE C。   

  

2、DYNAMIC RESULT SETS <n>   

如果您的存储过程将返回n 个结果集,那么需要填写这一选项。   

  

3、SPECIFIC my_unique_name   

赋给存储过程一个唯一名称,如果不指定,系统将生成一个惟一的名称。一个存储过程是可以被重载的,也就是说许多个不同的存储过程可以使用同一个名字,但这些存储过程所包含的参数数量不同。通过使用SPECIFIC 关键字,您可以给每一个存储过程起一个唯一的名字,这可以使得我们对于存储过程的管理更加容易。例如,要使用SPECIFIC 关键字来删除一个存储过程,您可以运行这样的命令:DROP SPECIFIC PROCEDURE。如果没有使用SPECIFIC 这个关键字,您将不得不使用DROP PROCEDURE 命令,并且指明存储过程的名字及其参数,这样DB2 才能知道哪个被重载的存储过程是您想删除的。   

  

4、SQL 访问级别   

NO SQL:存储过程中不能有 SQL 语句   

CONTAINS SQL:存储过程中不能有可以修改或读数据的 SQL 语句   

READS SQL:存储过程中不能有可以修改数据的 SQL 语句   

MODIFIES SQL:存储过程中的 SQL 语句既可以修改数据,也可以读数据   

   默认值是 MODIFIES SQL,一个存储过程不能调用具有更高 SQL 数据访问级别的其他存储过程。例如,被定义为 CONTAINS SQL 的存储过程可以调用被定义为 CONTAINS SQL 或 NO SQL 的存储过程。但是这个存储过程不能调用被定义为 READS SQL DATA 或 MODIFIES SQL 的其他存储过程。   

  


--语句   

可以是一条单独的语句或者是一组由BEGIN [ATOMIC] ... END 复合语句

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-301946-1-1.html 上篇帖子: 【DB2基础】全面了解DB2数据库中的各数据类型 下篇帖子: DB2 时间操作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表