- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于Oracle数据库动态SQL数据获取应用方法研究与实践
关于Oracle数据库动态SQL数据获取应用方法研究与实践
摘要:在Oracle数据库中,为了开发高效率的数据库应用程序,必须灵活的使用动态SQL技术来实现数据获取,为处理任何SQL语句,必须应用最高级的动态SQL方法四,该文研究了如何利用动态SQL方法四处理选择列表项和宿主变量个数在程序编写时都不确定的SQL语句,并在此基础上加以实践。
关键词:Oracle数据库;动态SQL方法四;数据获取
中图分类号:TP312文献标识码:A文章编号:1009-3044(2010)22-6137-03
Reaserch and Practice on Dynamic SQL Technology in Oracle Database
KANG Lu
(Shandong HoteamTechnologies Co.,Ltd.,Jinan 250104, China)
Abstract: In Oracle database, in order to develop the high efficiency of the database application procedure, we must neatly use dynamic SQL technology to realize the data acquisition. To process any SQL sentence, we must apply the most senior dynamic SQL method four. This article discusses how to use the dynamic SQL method four processing the choices tabulated item and the host variable integers are indefinite when programming the SQL sentence, and performed to practice.
Key words: oracle database; dynamic SQL method four; database acquisition
Pro *c/c++是由ORACLE公司提供,并在第三代高级程序设计语言中嵌入SQL语句来访问数据库的六种预编译程序之
一。Pro *c/c++是一种C语言预编译接口,首先通过预编译将嵌入到C语言中的SQL语句翻译成ORACLE的内部调用,再经过标准的C编译,最终连接成可执行代码,以完成在C中高效地存取ORACLE数据库的目的。
静态SQL是指直接内嵌到PC源程序中的SQL语句,在编写数据库应用程序时,完成固定的或特定的任务。
某些应用中,对数据库作何种操作或这种操作的先决条件在编译时还不明确,必须在程序运行时构造(或接收)和处理各种各样的SQL语句。这时,语句的构成在程序运行前是不知道的,并且这类语句每次执行都可能有变化,这类SQL语句的编程就要用到动态SQL方法。动态SQL方法是一种先进的程序设计技术,不仅能增加应用程序的功能还能提高其灵活性。一般情况下,程序中若SQL语句的文本(即命令、子旬)、宿主变量的数据类型、宿主变量个数或引用的数据库对象等有一种情况不知道时,就需要用动态SQL方法来设计。
动态SQL语句共有四种,一、处理不包含宿主变量的动态SQL语句。二、处理输入宿主变量个数和类型已经确定的动态SQL语句。三、处理选择列表和输入宿主变量个数已经确定的SQL语句,其中选择列表项是指SELECT语句的列或表达式。四、动态SQL是一种更加复杂的程序设计技术,既适用于各种S0L语句,又与一、二、三相比有两个突出的不同:(1)第四种的动态S0L语句不但包含选择表项或虚拟输入宿主变量,而且它们的个数或数据类型在编译时还不知道;(2)在其它方法中,Oracle和C之间的数据类型转换是自动实现的。而在方法四中,无法实现自动数据转换,需要由程序控制数据类型之间的转换。这样,针对每张表的可能操作(例如:插入、修改、删除等),分别构造一个灵活的SQL语句,这样就可通过第四种动态SQL方法来实现一个基于ORACLE数据库的数据获取。
1 动态方法四编程技术
方法四在编码上存在一定难度性,其动态语句中包含有选择表项或虚拟输入宿主变量,且其个数、类型直到语句执行前可能都不知道,因而在预编译时无法实现存储空间的分配以保存SQL语句中输入或输出宿主变量的值,也无法实现数据类型的自动转换,所以,ORACLE要求编程者提供选择表项和实输入宿主变量个数,名字最大长度,数据类型,及每一个输出宿主的内存单元地址。在Oracle
原创力文档


文档评论(0)