- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
理解动态SQL语句 使用动态SQL语句的时机 本地动态SQL 本地动态SQL语句的使用方式 使用EXECUTE IMMEDIATE EXECUTE IMMEDIATE语法 执行SQL语句和PL/SQL语句块 多行查询语句 使用OPEN-FOR语句 使用FETCH语句 使用批量绑定 1-* 北京源智天下科技有限公司 联系方式: 联系方式: 北京源智天下科技有限公司 PL/SQL从入门到精通视频 第十六讲:动态SQL语句 课程安排 理解动态SQL语句 使用EXECUTE IMMEDIATE 多行查询语句 使用批量绑定 动态SQL的使用建议 动态SQL基础 动态SQL使用时机 本地动态SQL 下面是使用动态SQL语句的几个时机: 由于在PL/SQL中只能执行静态的查询和DML语句,因此要执行DDL语句,必须要借助于动态SQL语句,在前面的示例可以了解到这个过程。 在开发报表或一些复杂的应用程序逻辑时,如果要基于参数化的查询方式,比如动态的表字段和动态的表名称时,可以使用动态SQL语句。 基于数据表存储业务规则和软件代码,可以将很多的业务规则的代码写在一个表的记录中,在程序需要时检索不同的业务逻辑代码动态的执行。 本地动态SQL缩写为NDS,英文全称是Native Dynamic SQL,是Oracle 11g中执行动态SQL的一个强大的工具,它的运行速度比DBMS_SQL要快,在以后Oracle将主要用NDS来执行动态SQL,当然到目前为止DBMS_SQL仍然具有其使用的时机。 使用本地动态SQL,可以使用如下所示的3种不同类型的动态方法,在本章后面的内容中将会对这3类动态SQL语句的使用方式进行详细的介绍: (1)使用EXECUTE IMMEDIATE语句:该语句可以处理多数动态SQL操作,包括DDL语句,比如CREATE、ALTER、DROP等;DCL语句,比如GRANT、REVOKE等等;DML语句,比如INSERT、UPDATE和DELETE等以及单行的SELECT语句。 注意:不能使用EXECUTE IMMEDIATE语句用来处理多行查询语句,多行查询需要使用OPEN-FOR语句。 (2)使用OPEN FOR、FETCH和CLOSE语句执行多行查询:OPEN FOR语句允许打开一个动态SQL语句的游标,通过FETCH提取游标中的记录,在执行完成后再关闭该游标。 (3)使用批量SQL的处理语句,通过批量的SQL语句的处理,可以加快SQL语句的处理,提高PL/SQL应用程序的性能。 EXECUTE IMMEDIATE语法 执行SQL语句和PL/SQL语句块 使用绑定变量 使用RETURNNING INTO子句 执行单行查询 指定参数模式 EXECUTE IMMEDIATE语句不仅可以执行动态的SQL语句,还可以执行匿名的PL/SQL块,基本定义语法如下所示: EXECUTE IMMEDIATE dynamic_string [INTO {define_variable[, define_variable]... | record}] [USING [IN |OUT | INOUT ] bind_argument [, [IN | OUT | IN OUT ] bind_argument]...] [{RETURNING | RETURN } INTO bind_argument[, bind_argument]...]; 使用绑定变量 使用RETURNNING INTO子句 执行单行查询 指定参数模式 多行查询的执行流程 OPEN {cursor_variable|:host_cursor_variable} FOR dynamic_string [USING bind_argument[,bind_argument]...]; 语法含义如下所示: cursor_variable是在声明区中定义的游标变量,它是一个没有指定返回类型的弱的游标变量。 dynamic_string是返回多行结果的动态SELECT语句。 bind_argument用于指定存放传递给动态SELECT语句值的变量。 FETCH {cursor_variable|:host_cursor_variable} INTO {define_variable[,define_variable]...|record}; EXIT WHEN cursor_variable%NOTFOUND; 性格决定命运, 专注成就人生 源智天下 Oracle Database 10g: Administration Workshop II 1-* 1-* 北京源智天下科技有限公司 联系方式: 联系方式: 北京源智天下科技有限公司
您可能关注的文档
最近下载
- 《机械装调技术》电子教案 模块五 整机调试与运行任务一 齿轮啮合齿侧间隙的检测与调整.doc VIP
- 青花瓷 完美演奏版 周杰伦 钢琴谱 数字 简谱.pdf VIP
- 第38届物理竞赛决赛实验考试答题纸 .pdf VIP
- 现代医药物流交易的配送中心建设项目可行性研究报告.doc VIP
- 2025-2026学年初中生物学人教版2024八年级上册-人教版2024教学设计合集.docx
- 养生馆卫生管理制度(3篇).docx
- 健康管理师课件第一章--健康管理概论.ppt VIP
- JBT 4333.4-2013 厢式压滤机和板框压滤机 第4部分:隔膜滤板.pdf VIP
- 电信反诈骗演讲稿模板5篇.docx VIP
- 基于光纤布拉格光栅的温度测量系统设计与应用.docx VIP
文档评论(0)