数据库系统课件第八章数据库编程幻灯片.ppt

数据库系统课件第八章数据库编程幻灯片.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 第八章 数据库编程 作业: 1. 在嵌入式SQL中是如何解决数据库工作单元与主语言程序工作单元之间通信的? 2. 在嵌入式SQL中是如何协调SQL语言的集合处理方式和主语言的单记录处理方式的? * * * 第八章 数据库编程 本章内容: 8.1 嵌入式SQL 8.2 存储过程 * 8.1 嵌入式SQL SQL语言是专门用来对关系数据库进行操作的语言。 基本的SQL是非过程化语言,不提供过程化语句。例如:没有分支判断语句(if…then…else…)和循环语句(while … {….})。 SQL是面向集合操作的语言。SQL语言只能作集合处理,一次处理一个集合,不能对集合中的记录做更细一步的处理。例如:不能把学生表中所有记录做成报表打印。 SQL是访问关系数据库的语言。SQL只能做后台数据库处理,而界面处理等前台工作无法实现。 嵌入式SQL就是把SQL语句嵌入到高级语言中,高级语言被称为(宿)主语言。由SQL语句实现数据库操作,高级语言进行SQL不能完成的工作,例如:界面处理、单记录处理,格式化输出等。 * 8.1.1 嵌入式SQL概述 如何区分主语言与SQL语句? 前缀:EXEC SQL 结束标志:随主语言的不同而不同 例如:C语言中使用SQL:EXEC SQL SQL语句 ; EXEC SQL DROP TABLE Student ; 如何执行嵌入式SQL语句? 预编译:将SQL语句转为主语言可执行的目标代码。 预编译的过程: (1) DBMS预处理程序对源程序进行扫描,识别出SQL语句; (2) 为了主语言编译程序能够处理SQL语句,把SQL语句转换成主语言调用语句; (3) 最后由主语言的编译程序将整个源程序编译为目标代码; * 8.1.1 嵌入式SQL概述 SQL与主语言如何通信? 建立数据库连接 EXEC SQL CONNECT TO target [AS connection] [USER user]; target:连接的数据库服务器; (1) 服务器标识串,例如:dbname@hostname:port (2) 包含服务器标识的SQL串常量; (3) DEFAULT; connection:可选连接名,区分一个程序内的多个连接; USER :用户名; 修改数据库连接 EXEC SQL SET CONNECTION connection | DEFAULT; 关闭数据库连接 EXEC SQL DISCONNECT [connection]; * 8.1.1 嵌入式SQL概述 SQL与主语言如何通信? 1. SQL通信区(SQLCA, SQL Communication Area) SQL语句执行后,描述系统工作状态和运行环境的数据区: (1) 向主语言传递SQL语句的执行状态信息; (2) 主语言能够据此控制程序流程; 2. 主变量 SQL语句中使用的主语言程序变量,分为: (1) 输入主变量:主语言向SQL语句提供参数; (2) 输出主变量:SQL语句的查询结果返回给主语言; 3. 游标 存放SQL语句执行结果的数据缓冲区,通过循环逐一访问所有记录,解决集合性操作语言与过程性操作语言的不匹配。 * 8.1.1 嵌入式SQL概述 嵌入式SQL的执行流程: 主语言进行变量声明和界面处理,并读取用户数据; SQL语句用主变量从主语言中接收执行参数,操纵数据库; SQL语句的执行状态由DBMS送至SQLCA中; 主语言程序从SQLCA中取出状态信息,据此决定下一步操作; 如果SQL语句从数据库中成功地检索出数据,则通过主变量传给主语言做进一步处理,否则退出主程序; 如果SQL语句返回的是结果集,则主语言通过游标逐一处理各记录; * 8.1.2 不使用游标的SQL语句 不用游标的SQL语句 一、说明性语句   说明性语句是专为在嵌入式SQL中说明主变量、SQLCA等而设置的。 说明主变量 EXEC SQL BEGIN DECLARE SECTION; EXEC SQL END DECLARE SECTION; 注:两条语句必须配对出现,相当于一个括号,两条语句中间是主变量的说明。 说明SQLCA EXEC SQL INCLUDE SQLCA; * 8.1.2 不使用游标的SQL语句 二、数据定义语句 [例1] 建立一个“学生”表Student。 EXEC SQL CREATE TABLE Student (Sno CHAR(5) NOT NULL UNIQUE, Sname C

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档