sql基本知识大全第十章
更新时间:2023-08-15 10:20:01 阅读量: 人文社科 文档下载
- SQL基本知识推荐度:
- 相关推荐
sql基本知识大全
第三章 关系数据库 语言SQL
第八章 数据库编程
嵌入式SQL 存储过程 小结
Spring, 2009. zhaoHaixia.
sql基本知识大全
8.1 嵌入式SQL1、SQL的使用方式交互式:在终端上每输入一条SQL语句,系统立即执行,然后等 待用户输入下一条语句。
自编程式:在实际的DBMS中,都对SQL进行了扩充,增加了条件、循环等控制语句,并提供编程机制。如SQL Server中,用户可以 编写存储过程并调用它。 嵌入式(嵌入到某种主语言中使用): 宿主语言负责:运算、处理、流程控制等 SQL负责:数据库操作Spring, 2009. zhaoHaixia. 2
sql基本知识大全
嵌入式SQL2、嵌入式SQL的处理方式 预编译:由DBMS的预处理程序对源程序进行扫描,识
别出SQL语句,把它们转化成主语言调用语句,以使
主语言编译程序识别它,最后由主语言的编译程序将整个源程序编译成目标码。 修改和扩充主语言使之能处理SQL语句。
Spring, 2009. zhaoHaixia.
sql基本知识大全
嵌入式SQL使用时的问题3、嵌入式SQL使用时的问题 必须解决四个问题: SQL语句与高级语言语句的区分 DB工作单元与程序工作单元的通信 SQL查询结果是集合,高级语言是一个记录, 需协调 两者的数据类型不完全对应或等价
Spring, 2009. zhaoHaixia.
sql基本知识大全
嵌入式SQL使用时的问题
区分(标识SQL语句) 在嵌入式SQL中,必须加前缀以与主语言区别 在PL/1中和C中:EXEC SQL <SQL语句>; 在COBOL中:EXEC SQL <SQL语句>END-EXEC
SQL语句标识用于通知主语言的预编译程 序,将SQL语句转化为等价的主语言语句,然 后再由编译程序形成目标代码。
Spring, 2009. zhaoHaixia.
sql基本知识大全
嵌入式SQL使用时的问题
通信输入主变量:宿主语言赋值,SQL语句引用,插入、修 改、条件子句
SQL语句引用主语言程序变量(称作主变量)
输出主变量:SQL语句赋值,宿主语言引用,得到SQL 的单值结果 主变量的定义:
EXEC SQL BEGIN/END DECLARE SECTION 主变量的使用:在SQL语句之内加冒号:指示变量Spring, 2009. zhaoHaixia. 6
sql基本知识大全
嵌入式SQL使用时的问题 通信
SQL语句执行后,系统反馈信息送到SQL的 通信区 SQLCA 。应用程序据此可决定程序 的执行流程或进行出错处理。 重要的状态指示字段 SQLCODE,其值表示 SQL语句是 否正常执行,异常时返回的是异常代码。
Spring, 2009. zhaoHaixia.
sql基本知识大全
嵌入式SQL使用时的问题 协调
用游标( Cursor )(即位置指针)协调 主语言和SQL语句的处理。 本地内存的一个数据缓冲区,存放SQL语句的执行 结果(元组集合),以协调SQL语句(面向集合) 和宿主语言(面向记录)的处理方式,解决主变量 所不能解决的二者之间的匹配问题; 每个游标都有一个名字,一个指针,通
过宿主语言 的一个循环用 SQL逐一从游标中读取记录,为主变 量赋值.Spring, 2009. zhaoHaixia. 8
sql基本知识大全
嵌入式SQL使用时的问题 数据类型匹配 主语言变量按主语言的类型,格式定义,若与数据 库中的数据类型不一致,则由DBS按实时约定进行 必要转换; 在实现嵌入式SQL时,往往对主语言变量的数据类 型加以适当限制。
Spring, 2009. zhaoHaixia.
sql基本知识大全
有关游标的SQL语句
游标定义语句(DECLARE):说明游标是与某 一查询结果相联系的符号名。EXEC SQL DECLARE SX CURSOR FOR <SELECT语句> END_EXEC
游标打开语句(OPEN):执行游标定义中的查 询语句,并使游标处于活动状态。EXEC SQL OPEN SX END_EXEC
游标推进语句(FETCH):将游标向前推进一 行,并将当前行的值送到共享变量中。EXEC SQL FETCH FROM SX INTO <变量表>END_EXEC
游标关闭语句(CLOSE):关闭游标。EXEC SQL CLOSE SXSpring, 2009. zhaoHaixia. 10
sql基本知识大全
Example例:插入一个学生记录(´S100´,´HH´,´CS´,19)进S表中。… EXEC SQL INCLUDE SQLCA; EXEC SQL BEGIN DECLARE SECTION; HS# ,HSN,HSD char(8); HSA Integer; EXEC SQL END DECLARE SECTION; …… main() { HS#=´S100´;HSN=´HH´; HSD=´CS´; HAS=19; …... EXEC SQL INSERT INTO S VALUES (:HS# ,:HSN,:HSD,:HSA); if (sqlca.sqlcode <> SUCCESS) Printf(´插入操作不成功!´); …… }Spring, 2009. zhaoHaixia. 11
sql基本知识大全
不需游标的SQL语句4、不需游标的SQL语句 说明性语句 数据定义语句(如建立、删除基本表) 数据控制语句(授权语句) 查询结果为单记录的SELECT语句 非CURRENT形式的UPDATE语句 非CURRENT形式的DELETE语句 INSERT语句Spring, 2009. zhaoHaixia. 12
sql基本知识大全
Example例1、根据主变量GIVENS#的值找该生的信息EXEC SQL SELECT SN,SD, SA INTO :SNAME,:DEPT,:AGE FROM S 查询结果存入 这三个主变量中
WHERE S#= :GIVENS#; 待查的学号存在GIVENS#中注意: 1、如果没有满足条件的记录,则DBMS将SQLCODE的值置为100。 2、如果查询结果有多条记录,则程序出错, DBMS在SQLCODE 返回错误信息。
Spring, 2009. zhaoHaixia.
sql基本知识大全
使用游标的SQL语句5、需要游标的SQL语句 查询结果为多条记录的SELECT语句 CURRENT形式的UPDATE语句 CURRENT形式的DELETE语句
Spring, 2009. zhaoHaixia.
sql基本知识大全
Example例1:查找由主变量DEPT中给出的某个系的全体学生信息。EXEC SQL DECLARE SX CURSOR FOR 定义游标
SELECT S#,SN,SAFROM S WHERE SD=:DEPT; EXEC SQL OPEN SX; 打开游标 推进游标
DO WHILEEXEC SQL FETCH SX INTO :S#, :SNAME, :AGE; …… END; EXEC SQL CLOSE SX; 关闭游标Spring, 2009. zhaoHaixia. 15
sql基本知识大全
ExampleEXEC SQL DECLARE SX CURSOR FOR SELECT S#,SN,SA FROM S WHERE SD=:DEPT; EXEC SQL OPEN SX; DO WHILE
游标SX 游标SX
S:S#S0 S1 S2 S3 S4 S5 S6 S7
SN SD SA X A B C D E F G MA 18 CS 20 CS 21 MA 19 CI
19 MA 20 CS 22 CI 21
EXEC SQL FETCH SX INTO :S#, :SNAME, :AGE; …… END; EXEC SQL CLOSE SX;
假设DEPT中为 ‘CS’
主变量 S# SNAME AGE S1 A 20Spring, 2009. zhaoHaixia. 16
sql基本知识大全
ExampleEXEC SQL DECLARE SX CURSOR FOR SELECT S#,SN,SA FROM S WHERE SD=:DEPT; EXEC SQL OPEN SX; DO WHILE EXEC SQL FETCH SX INTO :S#, :SNAME, :AGE; …… END; EXEC SQL CLOSE SX;
S:S#游标SX S0 S1 S2 S3 S4 S5 S6 S7
SN SD SA X A B C D E F G MA 18 CS 20 CS 21 MA 19 CI 19 MA 20 CS 22 CI 21
主变量 S# SNAME AGE S2 B 2117
假设DEPT中为‘CS’
Spring, 2009. zhaoHaixia.
sql基本知识大全
ExampleEXEC SQL DECLARE SX CURSOR FOR SELECT S#,SN,SA FROM S WHERE SD=:DEPT; EXEC SQL OPEN SX; DO WHILE
S:S#S0 S1 S2 S3 S4 S5 S6 S7
SN SD SA X A B C D E F G MA 18 CS 20 CS 21 MA 19 CI 19 MA 20 CS 22 CI 21
游标SX
EXEC SQL FETCH SX INTO :S#, :SNAME, :AGE; …… END; EXEC SQL CLOSE SX;
主变量 S# SNAME AGE S6 F 2218
假设DEPT中为‘CS’
Spring, 2009. zhaoHaixia.
sql基本知识大全
ExampleEXEC SQL DECLARE SX CURSOR FOR SELECT S#,SN,SA FROM S WHERE SD=:DEPT; EXEC SQL OPEN SX; DO WHILE EXEC SQL FETCH SX INTO :S#, :SNAME, :AGE;
S:S#S0 S1 S2 S3 S4 S5 S6 S7 游标SX
SN SD SA X A B C D E F G MA 18 CS 20 CS 21 MA 19 CI 19 MA 20 CS 22 CI 21
……END; EXEC SQL CLOSE SX;
主变量 S# SNAME AGE
假设DEPT中为‘CS’
S6
F
2219
Spring, 2009. zhaoHaixia.
- 粮油储藏基础知识
- 论文范文(包括统一封面和内容的格式)
- 经典解题方法
- 综合部后勤办公用品管理办法+领用表
- 学生宿舍突发事件应急预案
- 16秋浙大《生理学及病理生理学》在线作业
- 四分比丘尼戒本(诵戒专用)
- 浙江财经大学高财题库第一章习题
- 九大员岗位职责(项目经理、技术负责人、施工员、安全员、质检员、资料员、材料员、造价员、机管员)
- 旅游财务管理习题(学生版)
- 德阳外国语高二秋期入学考试题
- 投资学 精要版 第九版 第11章 期权市场
- 控制性详细规划城市设计认识
- bl03海运提单3国际贸易答案
- 2010-2011学年湖北省武汉市武珞路中学七年级(上)期中数学试卷
- VB程序填空改错设计题库全
- 教师心理健康案例分析 - 年轻班主任的心理困惑
- 民间借贷司法解释溯及力是否适用?
- 三联书店推荐的100本好书
- 《化工原理》(第三版)复习思考题及解答
- 十章
- 基本知识
- 大全
- sql
- 公司简介特灵
- 新时期高职学生管理工作中的问题与对策研究
- 产前筛查、诊断及新生儿疾病筛查
- 艺术表现的深层意蕴
- 2015年下半年湖南省企业法律顾问:行政许可设定权限的划分试题
- 2011年GCT考试试题答案(5)
- 乳腺癌改良根治术与乳腺癌根治术的比较
- 水运 材料试题(全)
- 安全生产管理规章制度5
- 2011年英语口语指导Part C Retelling(广东高考)
- 2014年湖北七市(州)高三年级联合考试语文答案(A卷)
- FlashBuilder4连接BlazeDS帮助文档
- UHB-ZK砂浆泵型号及产品概述
- 施工招标文件范本[定额计价11.5完
- 含答案版 小学四年级品德与社会(下册)期末复习试题(全)
- 2009、2008年工程勘察设计企业营业收入前100名
- M12L16161A_05中文资料
- 会计电算化考试理论题目(六)
- PCM编解码芯片控制
- 青少年中学生《学会设计人生目标》心理健康辅导活动优质课教案设计