- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第14章 嵌入式SQL语言 14-1 嵌入式SQL语句 14-2 动态SQL语句 14-1 嵌入式SQL语句 SQL语句: 每个数据库管理系统(DMS)都有其自己的数据处理语言(DML),所有DML语言都是基于一种语言(SQL语言,又称为结构化的查询语言)。 SQL语句有三种主要类型。最常见的语句(query),即信息请求,第二种是数据修改语句,即数据的添加、删除或更新。最后一种类型是系统和事务处理管理(例如,生成表、授权安全许可、提交、以及回调事务处理)。 以前介绍的SQL语言是作为独立语言在终端交互方式下使用的。这是面向集合的描述性语言,是非过程性的。即大多数语句都是独立执行,与上下文无关的。而许多事务处理应用都是过程性的,需要根据不同的条件来执行不问的任务,因此单纯用SQL语言是很难实现这类应用的。 在PB中由于拥有功能强大的数据窗口,使得对数据库的操作一般都由数据窗口完成。然而数据窗口也不是万能的(比如程序中连接数据库就必须通过嵌入式SQL来完成),有时候,在程序中我们往往需要对数据库进行读取或修改一行数据,需要动态的查询一些数据,查询条件由在程序中动态设定,这时使用SQL语句就显得灵活方便。针对这类应用需求,PowerScript提供了一整套嵌入式SQL语句。利用嵌入式SQL语句,我们能够在程序中灵活地操纵数据库。 PowerScript支持在程序中使用嵌入式SQL语句。 实际上,对这类语句,PowerBuilder在将其发送到DBMS之前,并不做任何处理,而由DBMS完成相应操作,最后PowerBuilder得到处理结果。 在程序中书写SQL语句的格式为: SQL语句; 整个SQL语句可以写在一行,也可以写成更易理解的多行格式,只要在语句结束处放上一个分号(;)即可。在SQL语句中可以使用常量或合法的变量,但使用变量时须在变量前加个冒号(:)(通常称做绑定变量或引用变量),多个变量或常量之间用逗号(,)分隔。 例如: INSERT INTO Employee (Emp_nbr, Emp_name) VALUES (:EmpNbr, 李明) ; 其中,Employee是表名,Emp_nbr、Emp_name是列名,EmpNbr是程序说明的变量,整个语句的意思是在表Employee中插入一条记录,该记录Emp_nbr列的值为变量EmpNbr中存放的值,列Emp_name的值为“李明”。 一、 嵌入式的SQL语句 什么是嵌入式的SQL语句?嵌入式包含以下的含义: 嵌入式的SQL语句可以直接嵌入到用户的powerscript中 嵌入式的SQL语句使用户能在命令的各个区域包含powerscript变量。 利用嵌入式的SQL语句,我们能够在程序中灵活的操纵数据库,实际上对这类语句,PB在将其发送到DBMS之前,并不做任何处理,而由DBMS完成相应的操作,最后由powerbuilder得到处理结果。 嵌入式的SQL语句执行后可能失败也可能成功。 良好的编程风格应对每条SQL语句的执行结果进行检查。执行结果存放在事务对象的SQLCODE当中,0表示成功,-1表示失败。 二、建立和断开与数据库的连接 使用CONNECT建立与数据库的连接CONNECT是每个访问数据库的PowerBuilder程序必须使用的语句,它的功能是通过事务对象将应用程序与数据库建立连接,连接成功后,其它SQL语句和数据窗口才能通过事务对象操作数据库。 CONNECT语句的语法格式为: CONNECT {USING TransactionObject}; 其中,TransactionObject是事务对象,在执行该语句前,必须正确设置事务对象的数据库连接属性。大括号({})表示该成分可以省略,省略时使用缺省的事务对象 disconnect {USING TransactionObject}; 三、提交与回滚事务 事务是数据库管理系统完成一项完整工作的逻辑单位,数据库管理系统保证一个事务要么被完整地完成(称做提交),要么被彻底地取消(称做回滚)。应用程序可以通过COMMIT和ROLLBACK语句控制事务操作。应该注意的是,事务和事务对象是两个完全不同的概念。 1.提交事务语句 COMMIT语句提交事务,完成数据库的物理修改。执行该语句后,将关闭所先前打开的游标(CURSOR)和过程(PROCEDURE),并开始一个新的事务。 COMMIT语句的语法格式为: COMMIT {USING Transactio
文档评论(0)