Sql server SQL Server触发器,仅在其他数据库中存在时更新
我有一个扳机,效果很好。但是,我发现如果使用应用程序GUI更新一个项目,触发器将不允许它在GUI中工作,除非我在触发器更新的多个数据库中创建该项目 基本上,我希望触发器运行,但如果其他3个数据库中不存在相同的UID,则会出错或停止触发器更新 这是我现在的触发器Sql server SQL Server触发器,仅在其他数据库中存在时更新,sql-server,Sql Server,我有一个扳机,效果很好。但是,我发现如果使用应用程序GUI更新一个项目,触发器将不允许它在GUI中工作,除非我在触发器更新的多个数据库中创建该项目 基本上,我希望触发器运行,但如果其他3个数据库中不存在相同的UID,则会出错或停止触发器更新 这是我现在的触发器 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER TRIGGER [dbo].[trgSecPIN] ON [dbo].[cat_validation] FOR UPDATE
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[trgSecPIN]
ON [dbo].[cat_validation]
FOR UPDATE
AS
UPDATE [eqcas02].[dbo].[cat_validation]
SET secondarypin = I.secondarypin
FROM [eqcas02].[dbo].[cat_validation]
JOIN inserted I ON [eqcas02].[dbo].[cat_validation].[name] = I.name
UPDATE [eqcas03].[dbo].[cat_validation]
SET secondarypin = I.secondarypin
FROM [eqcas03].[dbo].[cat_validation]
JOIN inserted I ON [eqcas03].[dbo].[cat_validation].[name] = I.name
UPDATE [eqcas04].[dbo].[cat_validation]
SET secondarypin = I.secondarypin
FROM [eqcas04].[dbo].[cat_validation]
JOIN inserted I ON [eqcas04].[dbo].[cat_validation].[name] = I.name
一旦我添加了NOCOUNT,一切都很好
一旦我添加了NOCOUNT,一切都正常。在您的
更新之前检查是否存在
sSo我希望在更新之前添加类似的内容?如果存在(从[eqcas02].[dbo].[cat_validation]中选择[name],其中[name]=[name]或这完全不正确?我发现了这一点。我缺少…在更新之前检查是否存在
sSo我希望在更新之前添加类似的内容?如果存在(从[eqcas02]中选择[name])[dbo].[cat_validation]其中[name]=[name]或这完全不正确?我发现了这一点。我缺少…SET NOCOUNT on
FOR UPDATE
AS
SET NOCOUNT on