PowerBuilder动态SQL语句与在组合查询中的应用.docVIP

PowerBuilder动态SQL语句与在组合查询中的应用.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PowerBuilder不仅支持在PowerScript中使用标准嵌入SQL语句,而且支持使用动态SQL语句。动态SQL语句可以解决嵌入SQL语句不支持DDL语句的问题,还能够在运行时构成SQL语句以解决在编译时不知道语句的具体格式或参数的问题。作者在“抚顺机动车辆管理信息系统”的开发过程中,对动态SQL语句的使用有了深刻的体会,车辆信息项目繁多而且组合条件复杂多变,使用该语句,不仅查询速度较高而且使用灵活可靠。下面就各动态SQL语句的使用格式、方法及各自的特点给予简单介绍,然后以查找车辆为例介绍动态SQL语句(格式4)在组合查询中的应用。 一、态SQL语句格式 PowerBuilder 有四种动态SQL格式,每种格式用于处理编译过程中的不同情况。 格式1:既没有输入参数,也没有输出结果集 格式2:有输入参数,但没有输出结果集 格式3:输入参数和结果集的列已知 格式4:输入参数和结果集在编译时有一个或都未知 1.动态SQL语句格式 格式 EXECUTE IMMEDIATE SQLStatement {USING TransactionObject} ; 参数描述 SQLStatement 是包括一条有效SQL语句的字符串。该字符串可以是常量或者冒号后面跟PowerBuilder变量(如:mysql)。该字符串必须只包括在一行上,且不能包含表达式。 TransactionObject(可选项)数据库的事务对象名 执行这种格式的SQL语句没有结果集、也不需要输入参数。这种格式可用来执行所有形式的数据定义语言(DDL)。 以下是一段建立车辆临时视图的例子: string sql sql=“CREATE VIEW temp_vehicle AS SELECT code , master FROM vehicle ” EXECUTE IMMEDIATE :sql USING SQLDA; 2. 动态SQL语句格式 格式 PREPARE DynamicStagingArea FROM SQLStatement {USING TransactionObject} ; EXECUTE DynamicStagingArea USING {ParameterList} ; 参数描述 DynamicStagingArea DynamicStagingArea变量名(通常为SQLSA) SQLStatement包含一条有效SQL语句的字符串。该字符串可以是常量或者冒号后面跟 PowerBuilder 变量(如:mysql)。在该语句中每个参数键入问号(?)。 TransactionObject(可选项)定义数据库的事务对象名 ParameterList (可选项)用冒号分隔的PowerScript变量列表 以下是一段使用格式2的脚本: int id = 156 //车辆ID String master //车主 SetNull(master) // 设成NULL值 PREPARE SQLSA FROM INSERT INTO vehicle VALUES (?,?) ; EXECUTE SQLSA USING :id, :master ; 用这种SQL语句格式执行没有结果集、但需要输入参数。可用来执行所有形式的数据库定义语言(DDL)。 3. 动态SQL语句格式 格式 DECLARE Cursor | Procedure DYNAMIC CURSOR | PROCEDURE FOR DynamicStagingArea ; PREPARE DynamicStagingArea FROM SQLStatement {USING TransactionObject} ; OPEN DYNAMIC Cursor {USING ParameterList} ; EXECUTE DYNAMIC Procedure {USING ParameterList} ; FETCH Cursor | Procedure INTO HostVariableList ; CLOSE Cursor | Procedure ; 参数描述 Cursor or Procedure cursor或procedure名 DynamicStagingArea DynamicStagingArea变量名(通常为SQLSA)。 SQLStatement 一条有效SQL SELECT语句的字符串。该字符串可以是常量或变量。 TransactionObject (可选项)定义数据库的事务对象名 ParameterList (可选项)用豆号分隔的PowerScript变量列表 Host

文档评论(0)

xiaofei2001128 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档