模块6存储过程和触发器电子课件 SSQL Server 2016数据库应用教程

上传人:仙*** 文档编号:253081844 上传时间:2024-11-28 格式:PPTX 页数:26 大小:3.49MB
返回 下载 相关 举报
模块6存储过程和触发器电子课件 SSQL Server 2016数据库应用教程_第1页
第1页 / 共26页
模块6存储过程和触发器电子课件 SSQL Server 2016数据库应用教程_第2页
第2页 / 共26页
模块6存储过程和触发器电子课件 SSQL Server 2016数据库应用教程_第3页
第3页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
单击此处编辑母版标题样式,编辑母版文本样式,第二级,第三级,第四级,第五级,2022/12/31,#,微信公众号:陈西设计之家,微信公众号:陈西设计之家,数据库应用教程,2016,目录,数据库概述,模块,01,CONTENTS,基础知识篇,表和表中数据的操作,模块,02,数据完整性,模块,03,索引和视图,模块,04,SQL,程序设计,模块,05,存储过程和触发器,模块,06,目录,数据库创建,实训,01,CONTENTS,上机实训篇,使用代码创建数据库,实训,02,分离和附加数据库,实训,03,使用窗口方式创建及修改表,实训,04,使用代码方式创建及修改表,实训,05,使用窗口方式对表中数据进行操作,实训,06,目录,使用代码对表中数据进行操作,实训,07,CONTENTS,上机实训篇,数据完整性,实训,08,索引和视图,实训,09,简单查询操作,实训,10,查询子句操作,实训,11,存储过程与触发器操作,实训,12,模块,6,存储过程和触发器,6.1,存储过程,6.2,触发器,6.3,小结,6.4,习题,学习要点,存储过程。,触发器。,6.1,存 储 过 程,存储过程,是一种数据库对象,它将执行计划存储在数据库的服务器中,将一些固定的操作集中在一起交给,SQL Server,数据库服务器来完成,以实现某个任务,用户通过指定存储过程的名字并给出参数来执行它。存储过程可以实现表的查询操作,表中数据的添加、修改和删除操作,以及其他复杂数据处理操作,理论上讲,其可以实现任何功能。存储过程类似于,Excel,中的函数,可以将要实现的功能定义在存储过程中,通过存储过程名来调用,以实现特定的功能。,6.1,存 储 过 程,主要存储在,MASTER,数据库中并以“,SP_”,为前缀,是从系统表中获取信息,为系统管理员管理,SQL Server,提供支持。,(,1,)系统类型,由用户创建并能完成某一特定功能的存储过程。,(,2,)用户自定义类型,存储过程分为,6.1,存 储 过 程,6.1.1,创建存储过程,语法格式如下。,其中,参数为变量名、变量类型及长度、,OUTPUT,。,CREATE PROCEDURE,存储过程名,参数,AS,SQL,语句,6.1,存 储 过 程,6.1.1,创建存储过程,注意:,当有多个变量定义时,各变量之间要用逗号隔开。使用,OUTPUT,关键字,则存储过程在退出时可将该参数的当前值返回至调用程序。若要用变量保存参数值以便在调用程序中使用,则调用程序必须在执行存储过程时使用,OUTPUT,关键字。对于,TEXT,类型不能使用,OUTPUT,。,6.1,存 储 过 程,6.1.1,创建存储过程,【,例,6.1】,创建存储过程,实现两数相加,并输出最终结果。,CREATE PROCEDURE CCGC,A TINYINT,,,B TINYINT,,,C INT OUTPUT,AS,SELECT C=A+B,6.1,存 储 过 程,6.1.2,调用存储过程,语法格式如下。,其中,使用,OUTPUT,关键字,则显示返回参数的值。,【,例,6.2】,在,【,例,6.1】,的基础上,通过调用存储过程实现两数相加并显示结果。,显示结果为:,330,。,存储过程名参数值,OUTPUT,DECLARE X INT,CCGC 120,,,210,,,X OUTPUT,SELECT,结果为:,=X,6.1,存 储 过 程,6.1.2,调用存储过程,【例6.3】,比较两数的大小,大的数减1,小的数加1。,执行:,GC3,5,,结果如下。,CREATE PROCEDURE GC,X TINYINT,Y TINYINT,AS,IF XY,BEGIN,SET X=X-1,SET Y=Y+1,END,ELSE,BEGIN,SET X=X+1,SET Y=Y-1,END,SELECT X,Y,6.1,存 储 过 程,6.1.2,调用存储过程,【,例,6.4】,创建存储过程,要求按指定班级找出姓名和成绩。,CREATE PROCEDURE CJ,X CHAR(10),AS,SELECT,会计,数据库,电子商务概论,FROM,成绩表,WHERE,学号,=X,执行:CJ2017127101,结果如下。,6.1,存 储 过 程,6.1.3,修改存储过程,语法格式如下。,【,例,6.5】,将,CCGC,存储过程内容修改为查询学生表中的所有数据。,ALTER PROCEDURE,存储过程名,参数,AS,SQL,语句,ALTER PROCEDURE CCGC,AS,SLECT*FROM,学生表,6.1,存 储 过 程,6.1.4,删除存储过程,语法格式如下。,DROP PROCEDURE,存储过程名,6.2,触发器,触发器是一种特殊的存储过程,主要通过事件进行触发而被执行,而存储过程可以通过存储过程名而被直接调用。它能够实现由主键和外键所不能保证的复杂的参照完整性和数据的一致性。触发器通过,UPDATE,、,INSERT,、,DELETE,三个事件触发操作。,触发器根据触发操作的先后顺序分为,AFTER,和,INSTEAD OF,两种类型。,(,1,),AFTER,触发器。,AFTER,触发器只有执行某一操作,(INSERT,、,UPDATE,、,DELETE),之后才能被触发,且只能在表上定义。,(,2,),INSTEAD OF,触发器。,INSTEAD OF,触发器并不执行所定义的操作,(INSERT,、,UPDATE,、,DELETE),而仅执行触发器本身。,6.2,触发器,6.2.1,创建触发器,语法格式如下。,注意:,对于,DELETE,、,INSERT,、,UPDATE,,至少要指定其中一项。,CREATE TRIGGER 触发器名,ON 表名 或 视图名,AFTER 或 INSTEAD OF DELETE 或,INSERT 或,UPDATE,AS,SQL 语句,6.2,触发器,6.2.1,创建触发器,【,例,6.6】,创建触发器,如果对学生表进行了修改、插入、删除操作,则显示此表的数据。,CREATE TRIGGER CFQ,ON,学生表,AFTER UPDATE,INSERT,DELETE,AS SELECT*FROM,学生表,【,例,6.7】,创建触发器,如果试图对学生表进行修改、插入、删除操作,则显示此表的数据,但并不执行修改、插入和删除操作。,CREATE TRIGGER CFQ,ON,学生表,INSTEAD OF UPDATE,INSERT,DELETE,AS SELECT*FROM,学生表,6.2,触发器,6.2.2,修改触发器,语法格式如下。,ALTER TRIGGER,触发器名,ON,表名 或 视图名,AFTER,或,INSTEAD OF,DELETE,或,INSERT,或,UPDATE,AS,SQL,语句,6.2,触发器,6.2.2,修改触发器,【,例,6.8】,修改触发器,CFQ,,当进行更新、插入、删除操作时,查询学生表中的所有数据。,ALTER TRIGGER CFQ,ON,学生表,AFTERUPDATE,INSERT,DELETE,AS,SELECT*FROM,学生表,6.2,触发器,6.2.3,删除触发器,语法格式如下。,注意:,触发器是与表融合在一起的,当删除表时,与表相关的触发器将自动被删除。,DROP TRIGGER,触发器名,小 结,6.3,小结,本模块首先介绍了存储过程的概论及作用;然后对存储过程的创建、调用、修改和删除的语法格式进行了举例说明;接着对触发器的原理、类型及作用进行了介绍,并通过实例予以说明。学习本模块时,应着重掌握存储过程和触发器的原理、创建和使用方法。,6.4,习题,1.,创建学生表,见表,6-1,。,表6,-,1习题1表,6.4,习题,2.,根据学生表创建存储过程,CK,,要求根据学生姓名查询其年龄和性别。,3.,在第,2,题的基础上,修改存储过程,要求根据学生姓名查询其平时表现情况。,4.,创建触发器,CF1,,要求在向学生表中添加了数据后,显示表中所有数据。,5.,创建触发器,CF2,,要求在对学生表修改了相关数据后,显示表中所有数据。,6.,创建触发器,CF3,,要求在对学生表删除了数据后,显示表中所有数据。,7.,创建触发器,KW1,,要求在试图修改学生表中数据时,显示表中所有数据。,8.,创建触发器,KW1,,要求在试图添加或修改学生表中数据时,显示表中所有数据。,谢谢观看,Thank You For Watching,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!