gpt4 book ai didi

sql - 创建或更改触发器(如果存在)

转载 作者:行者123 更新时间:2023-12-02 18:02:22 28 4
gpt4 key购买 nike

我正在尝试确定是否应该创建或更改并触发。我的代码如下。

IF OBJECT_ID(N'Sales.bonus_reminder', N'TR') IS NOT NULL
ALTER TRIGGER Sales.bonus_reminder
ON Sales.SalesPersonQuotaHistory
AFTER INSERT
AS RAISERROR ('Notify Compensation', 16, 10);
else
CREATE TRIGGER Sales.bonus_reminder
ON Sales.SalesPersonQuotaHistory
WITH ENCRYPTION
AFTER INSERT, UPDATE
AS RAISERROR ('Notify Compensation', 16, 10);

我遇到的错误是:

  • 其他地方的语法不正确
  • 创建触发器应该是唯一的批量声明。

这段代码应该是什么样子?

最佳答案

如果您不想将创建触发器语句作为动态SQL,那么您可以执行以下操作:

IF OBJECT_ID(N'Sales.bonus_reminder', N'TR') IS NOT NULL
exec sp_executesql N'DROP TRIGGER Sales.bonus_reminder';
GO

CREATE TRIGGER Sales.bonus_reminder
ON Sales.SalesPersonQuotaHistory
WITH ENCRYPTION
AFTER INSERT, UPDATE
AS RAISERROR ('Notify Compensation', 16, 10);

关于sql - 创建或更改触发器(如果存在),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31940907/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com