SQL sever数据库触发器设计 您所在的位置:网站首页 触发器的调用 SQL sever数据库触发器设计

SQL sever数据库触发器设计

2023-08-05 11:17| 来源: 网络整理| 查看: 265

SQL sever数据库触发器设计 一、目的: 能够理解触发器调用的机制。能够使用SQL命令创建DML触发器。能够完成触发器的修改、删除等管理任务。 二、触发器:

定义:触发器( T rigger )是 SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的 存储过程 ,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,经常用于加强数据的完整性约束和业务规则 。

三、触发器的创建示例: 创建触发器tr1,实现当修改学生表中的数据时,显示提示信息“学生表信息被修改了。” /*触发器创建*/ use 学生作业管理 go create trigger tr1 on 学生表 for update as print '学生表信息被修改了' go /*修改操作*/ use 学生作业管理 update 学生表 set 性别 = '男' where 学号 = 439 go

在这里插入图片描述

使用触发器tr2,实现当修改学生表中某个学生的学号时,对应学生成绩表中的学号也要修改。 /*触发器创建*/ create trigger tr2 on 学生作业表 for update as declare @o1d_id int declare @new_id int select @o1d_id = 学号 from deleted select @new_id = 学号 from inserted if update(学号) begin update 学生作业表 set 学号 = @new_id where 学号 = @o1d_idend go /*修改操作*/ use 学生作业管理 update 学生表 set 学号 = 666 where 学号 = 439 go

在这里插入图片描述 在这里插入图片描述

创建一个DDL触发器tr3,禁止修改和删除当前数据库中表的任何数据。 /*触发器创建*/ use 学生作业管理 go create trigger tr3 on 学生表 instead of delete as begin declare @msg nvarchar( 255) set @msg = '禁止册除和修改操作' print @msg end delete from 学生表 where 学号 = 496 go /*删除操作*/ delete from 学生表 where 学号 = 496

在这里插入图片描述

查看学生表表中已创建的触发器。 use 学生作业管理 go EXEC sp_helptrigger '学生表'

在这里插入图片描述

查看已创建的触发器tr1的内容。 (1)查看触发器的内容: use 学生作业管理 go EXEC sp_helptext 'tr1' go

在这里插入图片描述 (2)利用sp_help查看触发器的所有者和创建日期:

use 学生作业管理 go EXEC sp_he1p 'tr1' go

在这里插入图片描述

删除学生表上的触发器tr1。 drop trigger str1


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有