- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十章存储过程与触发器讲述
禁用触发器 alter table 员工信息 disable trigger trig_员工注册 alter table 员工信息 enable trigger trig_员工注册 重新启用触发器 删除触发器 Drop trigger trig_更新库存 高级操作 事务 解决同步发生数据更新时,防止数据的不一致。 锁 防止其他用户修改另一个还没完成的事务中的数据。 游标 Update 学生信息 Set 姓名=‘史明’,班级编号=‘20021340000101’ Where 学号=‘200530000023’ Update 学生信息 Set 姓名=‘史明’ Where 学号=‘200530000023’ Update 学生信息 Set 班级编号=‘20021340000101’ Where 学号=‘200530000023’ 游标 一种数据访问机制,允许用户访问单独的数据行,而不是对整个行集进行操作。用户可以通过单独处理每一行逐条收集信息并对数据逐行进行操作,从而降低系统开销和潜在的阻隔情况。 创建游标 在使用游标之前首先要声明游标。 declare stu_cursor cursor for select * from 学生信息 游标名 打开游标 使用游标之前必须首先打开游标。 open stu_cursor 检索游标 打开游标以后,就可以检索游标提取数据了。 fetch next from stu_cursor while @@fetch_status=0 begin fetch next from stu_cursor end 值为0,表示检索成功 关闭游标 打开游标后,SQL Server 2005服务器会专门为游标开辟一定的内存空间存放游标操作的数据结果集,不在使用的游标是,一定要关闭游标,以通知服务器释放游标所占用的内存空间。 close stu_cursor 释放游标 游标结构本身会占用计算机资源,所以在使用完游标后,为了回收被游标占用的资源,应该将游标释放。 deallocate stu_cursor 第十章 存储过程与触发器 学习目标 了解存储过程的类型 熟悉存储过程创建的语法格式 掌握修改、禁用、删除存储过程的方法 了解触发器的定义和执行环境 熟悉各种类型触发器的创建 掌握触发器的管理 存储过程 一组完成特定功能的SQL语句集,经编译后存储在数据库中,是一种有效的封装重复性工作的方法。 用户自定义存储过程 扩展存储过程 系统存储过程 以C语言等编写的外部程序, 以动态链接库(Dll)形式存储 在服务器上,SQL Server可以 动态装载并执行它们。 系统存储过程 放在master 数据库中,以“sp_”为前缀。通过系统存储过程,SQL Server 2008中许多管理性或信息性的活动可以被顺利地有效地完成。 分离数据库 sp_detach_db 创建自己的数据类型 sp_addtype 删除自定义数据类型 sp_droptype 重命名表 sp_rename 使用存储过程 创建普通存储过程 使用带参数的存储过程 查看存储过程 删除存储过程 创建普通存储过程 使用管理器创建 CREATE PROCEDURE语句创建 使用管理器创建 展开数据库-可编程性-右击存储过程-新建存储过程 CREATE PROCEDURE语句创建 创建无参数存储过程 创建参数存储过程 创建无参数存储过程 例:在教务管理系统数据库中创建一个名为proc_studentinfo的存储过程,它返回学生的学号、姓名、性别、班级编号、年级和籍贯信息。 create procedure proc_studentinfo as select 学号,姓名,性别,班级编号,年级,籍贯 from 学生信息 练一练 查找学生的学号、姓名、性别、班级编号、年级和籍贯信息。 创建存储过程 存储过程名 执行存储过程 使用EXECUTE执行存储过程 execute proc_studentinfo 创建参数存储过程 例:创建一个存储过程,用于返回教务管理系统数据库上某个班级中包括的学生信息。 create procedure proc_getclassstudent @classid varchar(14) as select 学号,姓名,性别,班级编号,年级,籍贯 from 学生信息 where 班级编号 练一练 查找“20021340000101”班级的学生的学号、姓名、性别、班级编号、年级和籍贯信息。 = ‘20021340000
您可能关注的文档
最近下载
- 神经系统的分级调节ppt课件.pptx VIP
- AI测试练习试题及答案.doc
- 2025广西南宁江南区“点对点”送工和乡村公岗专管员招聘2人备考练习题库及答案解析.docx VIP
- 肿瘤防治策略与最新进展.docx VIP
- 第五章植物-病原互作过程中效应子的作用.ppt VIP
- 湘科版《科学》四年级上册全册教案.doc VIP
- IEC_62893-4-1-2020 额定电压不超过 0.61 KV 的电动汽车充电电缆 – 第 4-1 部分:符合 IEC 61851‑‑1 模式 4 的直流充电电缆 – 不使用热管理系统的直流充电.pdf VIP
- 机器人集成解决方案 (机器人+).pdf VIP
- 消除艾滋病、梅毒和乙肝母婴传播项目工作制度及流程(模板).pdf
- 2025广西南宁市江南区“点对点”送工和乡村公岗专管员招聘考试备考试题及答案解析.docx VIP
文档评论(0)