第四章关系数据库查询语言SQL.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章关系数据库查询语言SQL

带游标的查询操作 游标定义语句的形式为: EXEC SQL DECLARE <游标名> CURSOR FOR <SELECT语句> 例如: EXEC SQL DECLARE CSR1 CURSOR FOR SELECT EMPNO, NAME, JOB, BIRTH FROM EMP 带游标的查询操作 打开游标的语句形式为: EXEC SQL OPEN <游标名> 例如,打开游标CSR1的命令为: EXEC SQL OPEN CSR1 OPEN语句检查WHERE子句中的宿主变量,并给它赋值(若存在),从而标识出哪些记录行满足查询条件构成活动集。OPEN语句执行后,游标指针指向活动集的第一行数据。 带游标的查询操作 通过游标取数据的语句形式为: EXEC SQL FETCH <游标名> INTO:<宿主变量l>, :<宿主变量2>, ··· 例如,把游标CSR1检索结果赋给宿主变量c#和grade。 EXEC SQL FETCH CSR1 INTO :c#, :grade 带游标的查询操作 关闭游标的语句形式为: EXEC SQL CLOSE <游标名> 例如,关闭游标CSR1的命令为: EXEC SQL CLOSE CSR1 关闭游标操作使游标的活动集无定义,不能再进行取数操作。 存储过程 建立存储过程可以指定所使用的程序设计语言。PL/SQL(Procedure Language/SQL,PL/SQL)是编写数据库存储过程的一种过程语言,结合了SQL的数据操作能力和过程化语言的流程控制能力,是SQL的过程化扩展。 PL/SQL的块结构和变量常量的定义 基本的SQL是高度非过程化的语言。ESQL将SQL语句嵌入程序设计语言,借助高级语言的控制功能实现过程化。PL/SQL是对SQL的扩展,使其增加了过程化语句功能。 PL/SQL程序的基本结构是块。所有的PL/SQL程序都是由块组成的。这些块之间可以互相嵌套,每个块完成一个逻辑操作。以下是PL/SQL块的基本结构: PL/SQL的块结构 /*定义部分*/ DECLARE /*定义的变量、常量等只能在该基本块中使用*/ ------变量、常量、游标、异常等 /*当基本块执行结束时,定义就不再存在*/ /*执行部分*/ BEGIN ------SQL语句、PL/SQL语句的流程控制语句 EXCEPTION /*遇到不能继续执行的情况称为异常*/ ------异常处理部分 /*在出现异常时,采取措施来纠正错误或报告错误*/ END; PL/SQL的块结构 PL/SQL中定义变量的语法形式如下: 变量名数据类型[[NOT NULL]:=初值表达式] 或 变量名数据类型[[NOT NULL]初值表达式] 常量的定义类似于变量的如下: 常量名数据类型CONSTANT:=常量表达式 常量必须给一个值,并且该值在存在期间或常量的作用域内不能改变。如果试图修改它,PL/SQL将返回一个异常。 赋值语句如下: 变量名称:=表达式 PL/SQL控制结构 PL/SQL提供了流程控制语句,主要有条件控制语句和循环控制语句。 一般有三种形式的IF语句:IF-THEN、IF-THEN-ELSE和嵌套的IF语句。 ① IF condition THEN Sequence_of_statements; /*条件为真时语句序列才被执行*/ END IF; /*条件为假或NULL时什么也不做,控制转移至下一个语句*/ ② IF condition THEN Sequence_of_statements1 /*条件为真时执行语句序列1*/ ELSE Sequence_of_statements2 /*条件为假时执行语句序列2*/ END IF; ③ 在THEN和ELSE子句中还可以包括IF语句,即IF语句可以嵌套。 PL/SQL控制结构 PL/SQL有三种循环结构:LOOP、WHILE-LOOP和FOR-LOOP。 ① 最简单的循环语句LOOP: LOOP Sequence_of_statements; /*循环体,一组PL/SQL语句*/ END LOOP; 多数数据库服务器的PL/SQL都提供EXIT、BREAK或LEAVE等循环结束语句,以保证LOOP语句块能够在适当的条件下结束。 ② WHILE-LOOP WHILE condition LOOP Sequence_of_statements; END LOOP; 每次执行循环体语句之前,首先对条件进行求值。如果条件为真,则执行循环体内的语句序列。如果条件为假,则跳过循环并把控制传递给下一个语句。 PL/SQL控制结构

文档评论(0)

jgx3536 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档