嘗試檢查插入的表列level_name中輸入的值是否與Levels
表列level_name匹配。我的查詢返回錯誤Subquery returned more than 1 value.
。試圖寫下Dan Guzman的代碼。插入觸發器問題,子查詢返回多於1行
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
爲什麼你想要使用觸發器來強制實施參照完整性?不知道這個觸發器是用於哪個表,但這是一個外鍵或一個唯一的約束。不要通過這樣的代碼來做到這一點,從長遠來看這會引起你無法形容的痛苦。 –
我認爲這是因爲我的要求是在日誌中記錄不匹配的值 – user3844877