欢迎来到天天文库
浏览记录
ID:26950290
大小:949.51 KB
页数:61页
时间:2018-11-30
《《游标和触发器》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1第10章游标和触发器10.1游标的定义和优点10.2游标的应用10.3触发器概述10.4创建/管理DML触发器10.5创建DDL触发器210.1游标的定义及其优点数据检索可以得到数据库中有关表的数据,但这些数据是作为一个结果集得到的,用户可以把这个结果集保存到一个文件里,或生成一个新表以便于以后使用。这种查询是非常重要的。但这种查询形式有一个很大的缺点,它不能对结果集中每一行的数据进行处理。使用游标可以实现对查询结果集中的数据逐行处理。10.1.1游标的概念游标(Cursor)是一种处理数据的方法,为了查看或者处理结果集中的数据,游标提供了在结果
2、集中向前或者向后浏览数据的能力。可以把游标看成一种指针,它既可以指向当前位置,也可以指向结果集中的任意位置,它允许用户对指定位置的数据进行处理,可以把结果集中的数据放在数组、应用程序中或其它地方。Transact-SQL游标遵循ANSI-92标准。310.1.2使用游标的优点从游标定义可以得知游标具有如下的优点,正是这些优点使得游标在实际编程应用中具有重要作用。允许程序对由查询语句SELECT返回的行集合中的每一行数据执行相同或不同的操作,而不是对整个行集合执行同一个操作提供对基于游标位置的表中的行进行删除和更新的能力游标实际上作为面向集合的数据库
3、管理系统(RDBMS)和面向行的程序设计之间的桥梁,使这两种处理方式通过游标沟通起来本章首页410.2游标的使用10.2.1使用游标的步骤使用游标的工作流程如下图13-1所示。具体地说,有如下几个步骤:①创建游标。使用T-SQL语句生成一个结果集,并且定义游标的特征,如游标中的记录是否可以修改。②打开游标。③从游标的结果集中读取数据。从游标中检索一行或多行数据称为取数据。④对游标中的数据逐行操作。⑤关闭和释放游标。510.2.2游标的定义及使用过程1.声明游标声明游标是指用DECLARE语句声明或创建一个游标。声明游标的语法如下:DECLAREcu
4、rsor_name[SCROLL]CURSORFORselect_statement[FOR{READONLY
5、UPDATE[OFcolumn_name_list]}]其中:cursor_name:是游标的名字,为一个合法的SQLServer标识符,游标的名字必须遵循SQLServer命名规范。SCROLL:表示取游标时可以使用关键字NEXT、PRIOR、FIRST、LAST、ABSOLUTE、RELATIVE。每个关键字的含义将在介绍FETCH子句时讲解。select_statement:是定义游标结果集的标准SELECT语句,它可以是一个完整语
6、法和语义的Transact-SQL的SELECT语句。6但是这个SELECT语句必须有FROM子句,不允许使用关键字COMPUTE、COMPUTEBY、FORBROWSE和INTO。FORREADONLY:指出该游标结果集只能读,不能修改。FORUPDATE:指出该游标结果集可以被修改。OFcolumn_name_list:列出可以被修改的列的名单。应该注意:①游标有且只有两种方式:FORREADONLY或FORUPDATE。②当游标方式指定为FORREADONLY时,游标涉及的表不能被修改。③当游标方式指定为FORUPDATE时,可以删除或更新游
7、标涉及的表中的行。通常,这也是缺省方式,即不指定游标方式时为FORUPDATE方式。④声明游标的DECLARECURSOR语句必须是在该游标的任何OPEN语句之前。72.打开游标打开游标是指打开已被声明但尚未被打开的游标,打开游标使用OPEN语句。打开游标的语法如下:OPENcursor_name其中:•cursor_name是一个已声明的尚未打开的游标名。注意:①当游标打开成功时,游标位置指向结果集的第一行之前。②只能打开已经声明但尚未打开的游标。83.从打开的游标中提取行游标被打开后,游标位置位于结果集的第一行前,此时可以从结果集中提取(FET
8、CH)行。SQLServer将沿着游标结果集一行或多行向下移动游标位置,不断提取结果集中的数据,并修改和保存游标当前的位置,直到结果集中的行全部被提取。从打开的游标中提取行的语法如下:FETCH[[NEXT
9、PRIOR
10、FIRST
11、LAST
12、ABSOLUTE
13、RELATIVE]FROM]cursor_name[INTOfetch_target_list]其中:cursor_name:为一已声明并已打开的游标名字。NEXT
14、PRIOR
15、FIRST
16、LAST
17、ABSOLUTE
18、RELATIVE:游标移动方向,缺省情况下是NEXT,即向下移动。NEXT:
19、取下一行数据。PRIOR:取前一行数据。FIRST:取第一行数据。9LAST:取最后一行数据。ABSOLUTE:按绝对位置
此文档下载收益归作者所有