收藏 分享(赏)

9 SQL的数据交换语句.ppt

上传人:依依 文档编号:1124118 上传时间:2018-06-13 格式:PPT 页数:28 大小:395KB
下载 相关 举报
9 SQL的数据交换语句.ppt_第1页
第1页 / 共28页
9 SQL的数据交换语句.ppt_第2页
第2页 / 共28页
9 SQL的数据交换语句.ppt_第3页
第3页 / 共28页
9 SQL的数据交换语句.ppt_第4页
第4页 / 共28页
9 SQL的数据交换语句.ppt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、第九章 SQL的数据交换语句,9.1 会话管理语句9.2 连接管理语句9.3 游标管理语句9.4 诊断管理语句9.5 动态SQL管理 本章小结 练习,9.1 会话管理语句,是数据交换中主体与客体间建立统一会话平台的语句包括会话特征、目录、模式、时区、字符集等的统一平台设置会话管理使用尚不普及,一般用于大型、远程网络中在SQL Server 2000中目前尚未设有专用的会话管理语句,9.1 会话管理语句,会话管理中的SQL语句设置会话特征语句:给出会话中的一些特征,如隔离等级、事物访问方式等Set session chrateristics as 设置目录语句:给出会话所使用的数据库目录Set

2、catalog 设置模式语句:给出会话所使用的数据库模式Set schema ,9.1 会话管理语句,设置本地时区语句:设置当地时间的位移量Set time zone 设置会话字符集语句: Set names 设置会话用户标识符语句:对用户的一个固定会话环境给出一个标识符。Set session authorization,9.2 连接管理语句,主要用于数据交换中主客体之间建立实质性关联一般用于C/S,B/S模式下调用层接口方式及Web方式中一般有三条语句完成,9.2 连接管理语句,连接语句建立主、客体之间的连接Connect to as user 置连接语句用于设置连接Set connect

3、 断开连接:断开已建立的连接Disconnect |all|current,9.3 游标管理语句,主要用于在数据交换时数据库中的集合量与应用程序的标量数据间的转换一般有四个语句,9.3 游标管理语句,定义游标:为某个select语句的结果集合定义一个命名游标Declare cursor for 打开游标Open 推进游标:将游标定位于集合中指定的记录,并取值,送入程序变量Fetch from into关闭游标Close ,9.3 游标管理语句,例:将计算机系老师的工资加200元。 declare cursor salaryCursor for select salary from emp wh

4、ere dno=cs; open salaryCursor ; fetch next from salarycursor into :money; while(游标非空) salary=:money+200; fetch next from salarycursor into :money; close salarycursor;,9.3 游标管理语句,游 标管理的一般流程定义游标打开游标以备使用推进游标取得数据,在此阶段往往与应用程序混合使用,并构成循环使用完毕后,关闭游标,9.4 诊断管理语句,用于获取SQL语句执行后的状态诊断获取语句:获取诊断区域内语句执行状态的信息Get diagno

5、stics :=statement|state在SQL Server2000中,系统自动将诊断信息放在一个全局变量(sqlca)中,此后可以直接使用全局变量。,9.5 动态SQL管理,动态SQL执行流程动态SQL转化为确定SQL执行确定的SQL语句对应的SQL语句准备语句Prepare from 执行语句Execute (using )立即执行语句:动态SQL语句只需执行一次时Execute immediate ,9.5 动态SQL管理,查询时还要使用游标动态定义游标语句Declare cursor for 动态打开语句Open using 动态推进语句Fetch from into动态关闭语

6、句Close ,9.5 动态SQL管理,动态SQL语句分类非查询类完整的SQL语句非查询类带有参数的SQL语句查询类完整的SQL语句查询类带有参数的SQL语句,本章小结,常用的SQL数据交换语句连接管理语句游标管理语句动态SQL管理语句会话管理语句诊断管理语句,游标定位取向,定位取向:next:从当前位置向前推进一行prior:从当前位置向后推进一行first:推向游标第一行last:推向游标最后一行relative+n:从当前位置向前推n行relative-n:从当前位置向后推n行absolute+n:推向游标倒数第n行absolute-n :推向游标第n行,Emp,3700,3500,30

7、00,3200,动态SQL到确定SQL的转化,应用程序,描述符区,动态SQL语句,动态参数形成并送入,赋值,非查询完整的SQL执行步骤,1)定义一个存放动态SQL语句的变量host_vari2)在应用程序中将SQL语句送入该变量中3)用prepare语句建立host_vari与SQL语句名的关联,从而使动态SQL转换为确定SQL4)用execute语句执行,即按SQL语句名所指定的固定SQL语句发送至数据源并执行,非查询完整的SQL例题,例:动态SQL为insert且为整个insert语句 /*定义主程序变量*/ . Char host_vari255 . /*将host_vari与SQL语句

8、名关联*/ prepare c1 from host_vari /*执行insert语句*/ execute c1,非查询带有参数的SQL执行步骤,1)定义存放动态SQL语句的变量host_vari以及存放动态参数的变量para_vari2)在应用程序中将SQL语句送入host_vari中,SQL语句中的动态参数用“?”标识3)用prepare语句建立host_vari与SQL语句名的关联4)在应用程序中将参数送入para_vari中5)用带using子句的execute语句执行, using para_vari,建立固定参数与para_vari间的关联,查询类完整的SQL执行步骤,1)定义一

9、个存放动态SQL语句的变量host_vari2)在应用程序中将SQL语句送入该变量中3)用prepare语句建立host_vari与SQL语句名的关联,从而使动态SQL转换为确定SQL4)用declare语句建立语句名与游标名之间的关联5)用open语句打开游标,接着用fetch执行之,直至结束,用close关闭,查询类完整的SQL例题,例:动态SQL语句为查询语句且具有完整的语句形式/*定义主程序变量*/Char host_vari255Char name24/*将host_vari与SQL语句名关联*/Prepare c1 from host_vari,查询类完整的SQL例题,/*定义动态

10、游标语句,建立c1与s1的关联*/Declare s1 cursor for c1/*打开s1*/Open s1/*取一行数放入name中*/Fetch from s1 into name/*结束后关闭游标*/Close s1,查询类带有参数的SQL执行步骤,1)定义一个存放动态SQL语句的变量host_vari及动态参数变量para_vari2)在应用程序中将SQL语句送入host_vari中,其中出现动态参数处用“?”标识3)用prepare语句建立host_vari与SQL语句名的关联4)用declare语句建立语句名与游标名之间的关联5)在应用程序中将固定参数送入para_vari6)

11、用带using子句的open语句打开游标,using子句建立固定参数与para_vari的关联, 接着用fetch执行之,直至结束,用close关闭,查询类带有参数的SQL例题,例:动态SQL为查询语句且具SQL中的动态参数形式/*定义主程序变量*/Char host_vari255Char para_vari255Char sname24/*将host_vari与c1关联*/Prepare c1 from host_vari,查询类带有参数的SQL例题,/*定义动态游标,建立c1与s1的关联*/Declare s1 cursor for c1 /*用带using子句open打开s1*/Open using para_vari/*取一行数据放入sname中*/Fetch from s1 into sname/*结束后关闭游标*/Close s1,练习,动态SQL语句为insert语句,形式如下:Insert into s (sno) values(?)写出其执行语句。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报