基本信息
文件名称:《数据库原理》第10章 存储过程和触发器-教学课件(非AI生成).ppt
文件大小:805.5 KB
总页数:62 页
更新时间:2025-05-22
总字数:约1.14万字
文档摘要

2.修改DML触发器修改触发器代码的语句为:ALTERTRIGGER其语法格式与定义触发器的CRETAETRIGGER语句一样,只是将CREATE改为了ALTER。*/83*/833.删除DML触发器删除触发器语句的语法格式为:DROPTRIGGER触发器名[,…n] */83*/83查看DDL触发器示例查看数据库级DDL触发器查看服务器级DDL触发器*/83*/83SQL语言是应用程序和数据库之间的主要编程接口。扩展存储过程是SQLServer实例可以动态加载和运行的DLL。扩展存储过程是使用SQLServer扩展存储过程API编写的,可直接在SQLServer实例的地址空间中运行。这些语句包含在该存储过程内或该存储过程所调用的任何其它存储过程内。*使得用户可以用编程的方法来实现复杂的处理逻辑和业务规则,DML触发器()经常用于强制执行业务规则和数据完整性。DMLdatamanipulationlanguage在一个表上可以建立多个名称不同、类型各异的触发器,每个触发器可由一个或多个数据更改语句引发。*如,数据库的建立、修改与删除;登录账户的建立、修改与删除等。如,创建、删除、修改表;创建索引等。【例1】查询Student表中包含的列信息。EXECsp_columns@table_name=Student*/8310.1.5一些系统存储过程*/83作用:返回当前环境中单个表的主键信息。语法格式:sp_pkeys[@table_name=]name????[,[@table_owner=]owner]??[,[@table_qualifier=]qualifier]2.sp_pkeys*/8310.1.5一些系统存储过程*/83【例2】查询SC表包含的主键。EXECsp_pkeys@table_name=SC*/8310.1.5一些系统存储过程*/83作用:返回当前环境的逻辑外键信息。3.sp_fkeys*/8310.1.5一些系统存储过程【例3】查看引用Student表的外键表和外键列。EXECsp_fkeys@pktable_name=Student*/834.sp_tables作用:返回可在当前环境中查询的对象列表,也就是返回任何能够在FROM子句中出现的对象。*/8310.1.5一些系统存储过程*/83【例4】在MySimpleDB数据库中执行下述代码,查看Production架构中的可查询对象。EXECsp_tables@table_name=%,@table_owner=Production,@table_qualifier=MySimpleDB*/8310.1.5一些系统存储过程*/8310.2触发器10.2.1创建触发器10.2.2DML触发器示例10.2.3DDL触发器示例10.2.4查看和维护触发器*/83*/8310.2.1创建触发器1.触发器基本概念触发器是一类特殊的存储过程,被定义为在对特定表或视图发出UPDATE、INSERT或DELETE语句时自动执行。*/83*/8310.2.1创建触发器2.触发器特点1)与表紧密相连,可以看作表定义的一部分2)不能通过名称被直接调用,更不允许带参数。3)当用户对表中的数据进行编辑时,自动执行。4)可以用于SQLServer约束、默认值和规则的完整性检查,实施更为复杂的数据完整性约束。*/833.DML触发器DML触发器,也称为标准触发器,是定义在某个表上的,当数据库服务器中发生数据操纵语言(DML)事件,如INSERT、UPDATE、DELETE时所触发的操作。DML触发器用于在数据被修改时强制执行业务规则。10.2.1创建触发器*/83*/8310.2.1创建触发器4.创建DML触发器语句CREATETRIGGER触发器名ON表名|视图名{FOR|AFTER|INSTEADOF}{[INSERT][,][DELETE][,][UPDATE]}ASSQL语句*/83*/83创建触发器注意事项对于AFTER型的触发器,可以在同一种操作上建立多个触发器;对于INSTEADOF型的触发器,在同一种操作上只能建立一个触发器。CREATE、ALTER和DR