第14章嵌入式SQL语言.pptVIP

  • 30
  • 0
  • 约6.16千字
  • 约 30页
  • 2017-06-02 发布于四川
  • 举报
第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)

1亿VIP精品文档

相关文档