gpt4 book ai didi

sql-server - SQL Server 触发器

转载 作者:行者123 更新时间:2023-12-04 06:42:51 24 4
gpt4 key购买 nike

我有一个有 4 个字段的表。

Col1 Guid Primary-Key (FK to another table)
Col2 Guid Primary-Key (FK to another table)
Col3 Int Primary-Key
Col4 Int

现在我想这样做:当用户插入的与记录具有相同值的新记录存在于表中时,如下所示:

有这样一条记录:
X Y Z 2

新纪录
X Y Z 3

将现有记录更新为以下内容:
X Y Z 5

并防止插入重复记录。我写了非常基本的触发器。现在帮我完成这个。提前致谢。 ;)
CREATE TRIGGER [Tbl].[TriggerName] 
ON [dbo].[Tbl]
AFTER INSERT, UPDATE
AS
BEGIN
SET NOCOUNT ON;
UPDATE [dbo].[Tbl]
SET [dbo].[Tbl].[Col4] += [Inserted].[Col4]
From [dbo].[Tbl] INNER JOIN [Inserted] ON [dbo].[Tbl].[Col1] = [Inserted].[Col1] AND
[dbo].[Tbl].[Col2] = [Inserted].[Col2]
WHERE [dbo].[Tbl].[Col3] = [Inserted].[Col3];
//How to prevent from inserting duplicate record?
END

最佳答案

我将把我的评论合并为一个答案。

在这种情况下,我会避免使用触发器。我相信您最好的方法是编写一个可以从代码中调用的存储过程。该存储过程将执行 if exists... update... else insert...逻辑。

关于sql-server - SQL Server 触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4034538/

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