SqlServer实现类似Oracle的before触发器示例

作者:whsnow 时间:2024-01-24 11:06:50 

1. 插入数据前判断数据是否存在


SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
alter TRIGGER CategoryExistTrigger
ON ProductCategory
instead of insert
AS

declare @categoryName varchar(50);
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;

-- Insert statements for trigger here
select @categoryName = CategoryName from inserted;
if exists(select * from ProductCategory where CategoryName =@categoryName)
begin
print 'Category exists..'
end;
else
begin
insert into ProductCategory select * from inserted;
end;

END

2. 删除表中数据时需要先删除外键表的数据


SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
alter TRIGGER DeleteOrderTrigger
ON OrderHeader
instead of delete
AS
declare @OrderId varchar(50);
BEGIN

SET NOCOUNT ON;
select @OrderId = OrderId from deleted;
delete from OrderLine where OrderId = @OrderId;

END
GO
标签:before,触发器
0
投稿

猜你喜欢

  • 浅谈python迭代器

    2023-07-21 21:56:47
  • 擦除式图片轮番显示效果

    2013-08-10 11:01:48
  • python 类详解及简单实例

    2023-05-17 17:17:32
  • python 处理telnet返回的More,以及get想要的那个参数方法

    2023-02-09 11:32:14
  • 基于Python实现迪杰斯特拉和弗洛伊德算法

    2021-06-14 08:07:25
  • php 读取文件头判断文件类型的实现代码

    2023-11-15 09:50:06
  • python3调用百度翻译API实现实时翻译

    2021-06-21 01:45:46
  • 关于VSCode 配置使用 PyLint 语法检查器的问题

    2023-06-18 17:10:33
  • Python如何测试stdout输出

    2023-10-22 23:59:56
  • 实例详解Python装饰器与闭包

    2021-05-27 10:12:21
  • Python 文本文件与csv文件的读取与写入

    2021-02-10 09:57:56
  • Data URI 和 MHTML

    2009-08-16 16:19:00
  • pytorch 模型可视化的例子

    2023-06-13 08:24:34
  • 如何使用python数据处理解决数据冲突和样本的选取

    2021-02-10 11:47:45
  • JavaScript画圆

    2010-01-22 15:57:00
  • Python爬虫入门案例之爬取二手房源数据

    2021-07-13 15:31:41
  • 专家教你安装 MySQL的与MySQL GUI Tools

    2012-01-29 17:59:05
  • Django权限机制实现代码详解

    2022-09-18 01:21:51
  • Z-Blog垃圾留言判定新方法

    2009-07-06 13:04:00
  • 使用Python实现简单的服务器功能

    2021-06-29 09:25:31
  • asp之家 网络编程 m.aspxhome.com