我試圖在具有以下更新觸發器的表執行更新,但我收到以下錯誤:更新觸發錯誤
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
這裏是觸發...
如果photoRatingID的值設置爲NULL則刪除記錄,從另一個表
IF UPDATE(photoRatingID)
BEGIN
IF (SELECT photoRatingID FROM inserted) IS NULL
BEGIN
DELETE mbr_Media_Approval_Primary
FROM deleted, mbr_Media_Approval_Primary
WHERE deleted.mbrID = mbr_Media_Approval_Primary.mbrID
END
END
中的所有表包含唯一的ID「mbrID」
記住多行能一次插入或更新 - 觸發器需要執行基於集合的操作。 – StuartLC
@StuartLC他可以使用遊標並在基於程序的操作中執行遊標。但我同意基於集合的操作是更好的方式:) – codemonkey
是的,你會發現沒有多少人喜歡使用[遊標]的想法(http://stackoverflow.com/questions/58141/why- [Sql Server](http://stackoverflow.com/questions/287445/why-do-people-hate-sql-sql-server-sql-server-sql-services-sql-servers-in-sql-server)遊標等等),還有一個觸發器... – StuartLC