SQLServer程序设计.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
游标 游标 声明游标 使用游标的第一步骤就是声明游标,声明游标用于指定游标的特性、游标对其进行操作的结果集。 [实例11.11] 定义游标,打开学生信息表。 声明游标 操作步骤: (1)启动查询分析器,输入如下SQL语句 DECLARE XS_CUR SCROLL CURSOR FOR SELECT * FROM 学生信息 OPEN XS_CUR SELECT 当前游标记录个数=@@CURSOR_rows go 声明游标 如下图所示: 声明游标 归纳分析: 上面的例子首先通过DECLARE关键字来定义游标,然后选择一个表,打开游标,就可以查询到当前表中记录的个数 。其中@@cursor_row表示当前游标记录数目是一个全局变量。由此,我们给出打开游标的命令格式: DECLARE 游标名称 [INSENSITIVE] [SCROLL] CURSOR FOR SELECT语句 [FOR READ ONLY | UPDATE [OF 列名1,列名2,列名3…]] 声明游标 命令说明: 游标名:为声明游标所起的名字。 INSENSITIVE:使用INSENSITIVE定义的游标,把提取出来的数据放入一个在tempdb数据库里创建的临时表里。任何通过这个游标进行的操作,都在这个临时表里进行。所以所有对基本表的改动都不会在用游标进行的操作中体现出来。 SCROLL:使用SCROLL关键字定义的游标,具有包括如下所示的所有取数功能: FIRST:取第一行数据; LAST:取最后一行数据; PRIOR:取前一行数据; NEXT:取下一行数据; RELATIVE:按相对位置取数据; ABSOLUTE:按绝对位置取数据。 打开游标 在可以使用游标之前,必须首先打开游标,开游标的语法如下: OPEN CURSOR_NAME 使用关键字OPEN来打开游标,CURSOR_NAME为打开游标的名字。 (2)按F5键或单击工具栏“执行查询”图标执行,执行结果如图: 【实例11.13】修改第5行的班级内容: 启动查询分析器,输入如下语句,执行结果如图所示。 Fetch absolute 5 from 信息_cur Update 学生信息 Select 班级=’123’ Where current of 信息_cur Go Select * from 学生信息 从结果可以看出,只对游标所指的第5行的班级列进行了修改。 在SQL Server 2000中,为了使逻辑编程更为简洁清晰,设计了函数的功能。有两类函数,系统内置函数和用户自定义函数。系统内置函数包括数学函数(如max、min、count等)、字符串函数(如len、left等)、日期函数(如year、getdate等)、系统函数(如user),这些系统内置函数。 除了可以使用系统提供的内置函数外,用户可以定义自己的函数,来补充和扩展系统支持的内置函数。用户自定义函数可以像系统函数一样在查询或存储过程中使用,也可以像存储过程一样通过EXECUTE命令来执行。 例题: 创建一个函数,根据是否为团员返回不同的数据,如果输入1,即为团员则返回该团员的信息,否则返回非团员的信息。 其效果图如下所示: 命令说明如下: ENCRYPTION:加密选项,避免将函数作为SQL Server复制的一部分发布。 SCHEMABINDING:指定将函数绑定到它所使用的数据库对象。如果指定了此项,则函数所涉及的数据库对象从此将不能被删除或修改,除非函数被删除或是除掉了此选项,注意绑定的数据库对象必须与该函数在统一数据库中。 1. 修改用户自定义函数需要使用ALTER FUNCTION语句。 2. 删除用户自定义的函数的语法是: DORP FUNCTION {[owner_name.] function_name} {, . . .n} 命令说明: (1)DROP FUNCTION:删除函数命令的关键字。 (2)owner_name:删除表的权力仅属于表的拥有者,且不能转移。 (3)function_name:函数的名称。 [实例] 将对前面定义的ee函数进行修改,修改为如果为团员则输出期末成绩大于80的学生信息。 课后习题 1.声明游标可以用() A.CREATE CURSOR??? ?? B.ALTER CURSOR C.SET CURSOR???????????? ?D.DECLARE CURSOR 课后习题 2. 从游标中检索行的语句是( )

文档评论(0)

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

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

1亿VIP精品文档

相关文档