【发布时间】:2014-07-22 09:58:12
【问题描述】:
尝试检查插入的表列 level_name 中输入的值是否与 Levels 表列 level_name 匹配。我的查询返回错误 Subquery returned more than 1 value. 。尝试按照 Dan Guzman 的代码编写代码。
Declare @levelname nvarchar(MAX)=
(
SELECT [LEVEL_NAME] + ' '
FROM inserted
WHERE (select LEVEL_NAME from levels where level_name=(select level_name
from inserted)) IS NULL
FOR XML PATH('')
);
if @levelname is not null
BEGIN
RAISERROR();
END
【问题讨论】:
-
为什么要使用触发器来强制引用完整性?不确定此触发器适用于哪个表,但这是外键或唯一约束。不要通过这样的代码来做这件事,从长远来看,它会给你带来无尽的痛苦。
-
我认为是因为我的要求是在日志中记录不匹配的值
标签: sql-server triggers insert