1
我有一个很好的触发器。但是,我发现如果使用应用程序GUI更新项目,触发器将不允许它在GUI中工作,除非我在多个数据库中创建项目,触发器更新。SQL Server triger,只有在另一个数据库中存在时才会更新
基本上我想要触发器运行,但要么出错或停止,如果在触发器更新的其他3个数据库中不存在相同的UID。
这是我目前的触发器。
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
检查'IF EXISTS'在你的'UPDATE'之前 – techspider
所以我想在UPDATE之前添加这样的东西? IF EXISTS(SELECT [name] FROM [eqcas02]。[dbo]。[cat_validation] WHERE [name] = [name]或者这个完全不正确? – LazySmerf
我明白了......我错过了...'SET NOCOUNT on' – LazySmerf