Sqlserver 自定义函数 Function使用介绍

2020-07-04 05:59:00易采站长站整理


USE SQL_SYSTEM
GO
CREATE TRIGGER DROP_T
ON DATABASE FOR DROP_TABLE
AS
BEGIN
ROLLBACK TRANSACTION
PRINT'不能删除的,因为我已经添加了触发保护!'
END

drop:


DROP TABLE AA

F5:

DML,是解决对最低层数据的问题: 在这里就存在临时的2个表:deleted 和 inserted 逻辑(概念)表,要搞明白就要知道trigger的工作原理: insert 操作时:

delete 操作时:

update 操作时:

简单举个例子来说下update的操作:也就是重点看inserted和deleted表上:


USE [SQL_SYSTEM]GO
/****** Object: Trigger [dbo].[UPDATE_T] Script Date: 03/04/2014 16:04:21 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [dbo].[UPDATE_T]ON [dbo].[AA] INSTEAD OF UPDATE
AS
BEGIN
INSERT INTO T_UPDATE_HOU
SELECT*
FROM[inserted]/*将更新成的数据插入到【T_UPDATE_HOU】中*/
INSERT INTO T_UPDATE_QIAN
SELECT*
FROM[deleted]/*将更新前的数据插入到【T_UPDATE_QIAN】中*/
PRINT'更新完毕,更新前的数据已经写入到【T_UPDATE_QIAN】,更新后的数据插入到【T_UPDATE_HOU】。'
END

update:


USE SQL_SYSTEM
GO
UPDATE[AA]SET AA.职位 ='SQL高级工程师'
WHERE AA.工号=101
/*以上是个简单的更新操作,用于update触发*/
SELECT* FROM[T_UPDATE_HOU] --修改成的数据
SELECT* FROM[T_UPDATE_QIAN] --待修改的数据
GO

F5:

在去年的的时候我写了一个利用trigger对多表连接的view进行更新的操作:

//www.jb51.net/article/95473.htm

您可能感兴趣的文章:CREATE FUNCTION sqlserver用户定义函数sqlserver中的自定义函数的方法小结SQL Server自定义异常raiserror使用示例详解SQL Server数据库架构和对象、定义数据完整性Sql Server的一些知识点定义总结

相关文章 大家在看