- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库:存储过程和游标
数据库原理及应用-SQL DML * 利用游标取数 OPEN student_curFETCH NEXT FROM student_cur INTO @vsno, @vsname WHILE @@FETCH_STATUS=0begin PRINT 学号:+@vsno + 姓名:+@vsname FETCH NEXT FROM student_cur INTO @vsno, @vsname end CLOSE student_curDEALLOCATE student_curGO 返回 数据库原理及应用-SQL DML * 利用游标修改数据 声明游标时没有加READ ONLY关键字 一般不要修改基于多表的游标 新的语句形式: UPDATE tname SET cname = expressionWHERE CURRENT OF cursor_name DELETE FROM tnameWHERE CURRENT OF cursor_name 数据库原理及应用-SQL DML * 利用游标修改数据 【例3】使用游标更改课程信息。 USE student GO DECLARE @vcredit int DECLARE course_cur CURSOR FOR SELECT Ccredit FROM course OPEN course_cur FETCH course_cur INTO @vcredit WHILE @@FETCH_STATUS = 0 数据库原理及应用-SQL DML * 利用游标修改数据 BEGIN IF @vcredit = 0 BEGIN UPDATE course SET cname=cname+’*’ WHERE CURRENT OF course_cur END FETCH course_cur INTO @vcreditENDCLOSE course_curDEALLOCATE course_cur 返回 数据库原理及应用-SQL DML * 使用游标的SQL语句 一、查询结果为多条记录的SELECT语句 可将多条记录一次一条送主程序处理,从而把集合的操作转换为对单个记录的处理。 二、CURRENT形式的UPDATE和DELETE语句 UPDATE和DELETE语句中用到子句:WHERE CURRENT OF 游标名修改游标指针指向的当前记录。 数据库原理及应用-SQL DML * 使用游标的SQL语句 使用游标的步骤为: 1、说明游标。用DECLARE语句为一条SELECT语句定义游标: DECLARE 游标名 CURSOR FOR SELECT语句 定义游标仅仅是一条说明性语句,这时RDBMS并不执行SELECT语句。 2、打开游标。 OPEN 游标名 实际上是执行相应的SELECT语句,把查询结果取到缓冲区去。这时游标处于活动状态,指针指向查询结果集中的第一条记录。 数据库原理及应用-SQL DML * 使用游标的SQL语句 3、推进游标指针并取当前记录。 FETCH 游标名INTO 主变量 [指示变量][,主变量 [指示变量]]……; 4、关闭游标。 CLOSE 游标名; 5、释放游标。 DEALLOCATE 游标名; 返回 数据库原理及应用-SQL DML * 练习 使用存储过程计算每个学生的平均学分积,并保存到stu_grade(sno,credit_grade)表中 * 读懂含有游标的代码 数据库原理及应用-SQL DML 存储过程和游标 数据库原理及应用-SQL DML * 主要内容 存储过程 存储过程概述 存储过程的创建、管理和执行 系统存储过程 存储过程与触发器 游标 基本概念 基本使用方法 数据库原理及应用-SQL DML * 存储过程概述 什么是存储过程 存储过程是SQL语句和可选控制流语句的预编译集合,它以一个名称存储并作为一个单元处理。 存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其他强大的编程功能 数据库原理及应用-SQL DML * 存储过程概述 存储过程的组成(三部分) ①所有的输入参数以及传给调用者的输出参数。 ②被执行的针对数据库的操作语句,包括调用其它存储过程的语句。 ③返回给调用者的状态值,以指明调用是成功还是失败。 数据库原理及应用-SQL DML * 存储过程概述 存储过程的初始处理 语法分析 Cr
文档评论(0)