sql数据库原理

sql数据库原理

ID:33591771

大小:720.18 KB

页数:32页

时间:2019-02-27

sql数据库原理_第1页
sql数据库原理_第2页
sql数据库原理_第3页
sql数据库原理_第4页
sql数据库原理_第5页
资源描述:

《sql数据库原理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、例1:声明一个标准游标,结果集为“学生”表中所有的男同学USE学生管理DECLARE男同学CURSORFORSELECT*FROM学生WHERE性别=1GO1例2:声明一个只读游标,结果集为“学生”表中所有的男同学USE学生管理DECLARE男同学CURSORFORSELECT*FROM学生WHERE性别=1FORREADONLYGO2例3:声明一个游标,结果集为“学生”表中所有的男同学,然后打开此游标。USE学生管理DECLARE男同学CURSORFORSELECT*FROM学生WHERE性别

2、=1OPEN男同学GO3例4:打开一个不存在的游标USE学生管理OPENtmp_curGO因为游标tmp_cur不存在,所以返回结果为:服务器:消息16916,级别16,状态1,行4名为'tmp_cur'的游标不存在。4例5:打开一个已经打开的游标USE学生管理DECLARE男同学CURSORFORSELECT*FROM学生WHERE性别=1OPEN男同学OPEN男同学GO因为游标男同学已经被打开了,所以返回结果为:服务器:消息16905,级别16,状态1,行5游标已打开。5例6:声明

3、一个游标,结果集为“学生”表中所有的男同学,然后打开此游标,并读取第一行数据。USE学生管理DECLARE男同学CURSORFORSELECT*FROM学生WHERE性别=1OPEN男同学FETCHNEXTFROM男同学GO运行结果6例7:声明一个游标,结果集为“学生”表中所有的男同学,然后打开此游标,并读取最后一行数据。USE学生管理DECLARE男同学SCROLLCURSORFORSELECT*FROM学生WHERE性别=1OPEN男同学FETCHLASTFROM男同学GO运行结果7通过游标

4、更新数据语法格式:updatefrom表或视图set列名=表达式,…wherecurrentof游标名功能:修改当前行指定字段的值。8通过游标删除数据语法格式:deletefrom表或视图wherecurrentof游标名功能:删除游标名指定的当前行数据。91011例9:验证CURSOR_STATUS函数的使用方法。USE学生管理DECLARE男同学SCROLLCURSORFORSELECT*FROM学生WHERE性别=1PRINTCURSOR_STATUS('global','男同学')OPEN男同学PR

5、INTCURSOR_STATUS('global','男同学')GO执行结果为:-1112例10:通过使用@@FETCH_STATUS函数输出游标中的所有记录。USE学生管理DECLARE男同学SCROLLCURSORFORSELECT*FROM学生WHERE性别=1OPEN男同学FETCHNEXTFROM男同学WHILE(@@FETCH_STATUS=0)FETCHNEXTFROM男同学GO13例11:关闭一个已经打开的游标,然后声明一个同名游标USE学生管理DECLARE男同学SCROL

6、LCURSORFORSELECT*FROM学生WHERE性别=1OPEN男同学CLOSE男同学DECLARE男同学SCROLLCURSORFORSELECT*FROM学生WHERE性别=1GO运行结果为:服务器:消息16915,级别16,状态1,行7名为'男同学'的游标已存在。14综合示例15例1a在创建一个存储过程时,如果已经存在同名的存储过程,则不允许创建新的存储过程。可以将以上代码改写为:USE学生管理--如果存在名称为“增加成绩”的存储过程,则将其删除IFEXISTS(SELECTna

7、meFROMsysobjectsWHEREname='增加成绩'ANDtype='P')DROPPROCEDURE增加成绩GOCREATEPROCEDURE增加成绩ASUPDATE学生SET入学成绩=入学成绩*1.1GO161718例6创建存储过程AvgScore1,根据给定的院系和班级名称计算平均成绩,并将结果使用输出参数返回。如果指定的院系存在,则返回1,否则返回0。CREATEPROCEDUREAvgScore1@orgvarchar(100),@classvarchar(50),@sco

8、refloatOUTPUTASDECLARE@orgidintSET@orgid=019例6(续)--根据参数中指定的院系名称org,获取院系编号SELECT@orgid=记录编号FROM院系WHERE院系名称=@orgIF@orgid=0RETURN0ELSEBEGINSELECT@score=AVG(入学

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

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

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