游标规则用户自定义函数

游标规则用户自定义函数

ID:37072952

大小:1.20 MB

页数:28页

时间:2019-05-10

游标规则用户自定义函数_第1页
游标规则用户自定义函数_第2页
游标规则用户自定义函数_第3页
游标规则用户自定义函数_第4页
游标规则用户自定义函数_第5页
资源描述:

《游标规则用户自定义函数》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、游标2本章目标游标的使用规则的使用自定义函数游标引例以前:使用SELECT语句对表格进行查询,返回的结果集包括所有满足条件的行。思考:如果要求每次只显示表格(例如上面的Course表)中的一行,该如何处理?——这在将T-SQL嵌入到其他高级语言(如C、VC、Delphi等)的编程中经常用到。游标概述可以将游标看作一种特殊的指针,它可以指向与它相关联的结果集中的任意一行,以便对当前位置的行进行处理。游标提供了对一个结果集进行逐行处理的能力:在结果集中定位特定行从结果集的当前位置检索行支持对结果集中当前位置的行进行数据处理

2、(修改/删除)使用游标的步骤声明游标打开游标处理数据(读取/修改/删除)——可以和其他T-SQL语句配合灵活使用关闭游标(与打开游标配对)删除游标(与声明游标配对,此时释放分配给游标的所有资源)【问题】游标基本使用的例子相关语法格式声明游标DECLAREcursor_nameCURSOR[FORWORD_ONLY

3、SCROLL]FORselect_statements打开游标OPENcursor_name使用游标FETCH[NEXT

4、PRIOR

5、FIRST

6、LAST]FROMcursorInto@variable_na

7、me关闭游标CLOSEcursor_name删除游标DEALLOCATEcursor_name例子declare@tNamevarchar(100)declaremyCursorcursorforselectnamefromsystypesopenmyCursorfetchnextfrommyCursorinto@tNamewhile@@fetch_status=0beginprint(@tName)fetchnextfrommyCursorinto@tNameendclosemyCursordeallocatemyC

8、ursor注意须序fetch...from...into...在写SQL存储过程和触发器的时候,经常会用游标,一用到游标就要循环练习1声明一个名为CrsStudent的游标,使其与“00电子商务班”的所有学生信息(学号、姓名)相关联,并逐行显示前三条学生信息使用@@fetch_status:该全局变量/配置函数返回被最后FETCH语句执行的游标的状态,返回类型为int:0:FETCH语句成功-1:FETCH语句失败或此行不在结果集中-2:被提取的行不存在练习2使用游标遍历Course表,输出报名人数最多的课程的信息(课

9、程编码、课程名称、报名人数)练习3建立一个存储过程,利用游标求course表中某系(用户给定系代码)所开课程的最大报名人数,并把课程名称和最大报名人数作为输出变量返回给用户。规则创建具有范围的规则CREATERULErange_ruleAS@range>=$1000AND@range<$20000用以限制插入该规则被绑定到的列中的整数的范围创建具有列表的规则CREATERULElist_ruleAS@listIN('1389','0736','0877')用于将输入到该规则被绑定到的列中的实际值限制为只能是该规则中列出

10、的值创建具有模式的规则CREATERULEpattern_ruleAS@valueLIKE'__-%[0-9]'创建一个遵循这种模式的规则:任意两个字符的后面跟一个连字符(-)和任意多个字符(或没有字符),并以0到9之间的整数结尾将规则绑定到列execsp_bindrule'range_rule',‘teaInfo.Salary'注意1.规则名和表中的列必须用’’2.规则名和表中的列之间用,将规则绑定到别名数据类型EXECsp_bindrule'rule_ssn','ssn'1.在CREATETABLE语句中,类型为s

11、sn的列会继承rule_ssn规则。2.类型为ssn的现有列也会继承rule_ssn规则,除非为futureonly_flag指定了futureonly,或者在ssn上直接绑定了规则。3.绑定到列的规则始终优先于绑定到数据类型的规则。规则名别名数据类型与自定义数据类型相关的存储过程sp_addtype添加一个自定义数据类型sp_droptype删除一个自定义数据类型Execsp_addtypeAccountType,'varchar(20)','notnull‘Execsp_droptypeAccountType--先

12、删除使用了该类型的表createtableAccountInfo(accIDAccountType)使用futureonly_flagEXECsp_bindrule'rule_ssn','ssn','futureonly'将rule_ssn规则绑定到别名数据类型ssn。由于已指定futureonly,因此不影响类型为ssn的现有列

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。