菜的像徐坤
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

sql触发器

4146人阅读 2021/5/24 20:24 总访问:876672 评论:0 收藏:0 手机
分类: SQL

前言

trigger     触发器关键字
create     创建
alter      修改

instead of  修改之前限制
for       修改之后限制
transaction  事务   简写tran
raiserror   抛出异常

错误信息的级别,我们可以指定 0 到 18 之间的严重级别。只有 sysadmin 固定服务器角色成员或具有 ALTER TRACE 权限的用户才能指定 19 到 25 之间的严重级别。若要使用 19 到 25 之间的严重级别,必须选择 WITH LOG 选项。

注意,如果错误级别在20~25之间,那么数据库会认为这个错误是致命,那么数据库会将该错误记录到错误日志和应用程序日志后终止数据库的连接。任何小于 0 的严重级别被认为等于0。大于 25 的严重级别被认为等于25。

标识错误发生的位置可以是1~127之间任意整数,如果一段代码的多个位置都会发生同样的错误,那么就可以将这个参数设置为不同的值,用来标识是那个位置发生错误了

ROLLBACK TRANSACTION 回滚事务


定义一个触发器

触发器可以限制某张表或者某条记录会被限制更新
语法
create trigger 触发器名字
on 表名  instead of/for  insert/update/delete
as
begin
方法体
end

 --限制修改
  create trigger Iimit
 on students instead of update
 as
 begin 
       --开启事务
	begin transaction fugui
	
	--抛出异常(异常信息,错误严重级别,标识错误的发生位置)
	raiserror('这张表无法被修改',16,1)
	
	--回滚事务
	ROLLBACK TRANSACTION fugui  
 end


删除触发器
drop trigger 触发器名

评价