トリガー(追加と削除)に問題があります:
ALTER TRIGGER [trgAfterShoppingInserted]
ON [ShopingList] AFTER INSERT
AS BEGIN
DECLARE @cardId char(6), @points int, @userId int
SET @cardId = (SELECT cardId FROM inserted)
SET @points = (SELECT points FROM inserted)
SET @userId = (SELECT userId from [Card] WHERE id = @cardId)
IF @userId = 0
BEGIN
Update [Card]
set points = points + @points
where id =@cardId
END
ELSE
Update [Card]
set points = points + @points
where id =@cardId OR
userId = @userId
END
ALTER TRIGGER [trgAfterShoppingDeleted]
ON [ShopingList] AFTER DELETE
AS BEGIN
DECLARE @cardId char(6), @points int, @userId int
SET @cardId = (SELECT cardId FROM inserted)
SET @points = (SELECT points FROM inserted)
SET @userId = (SELECT userId from [Card] WHERE id = @cardId)
IF @userId = 0
BEGIN
Update [Card]
set points = points - @points
where id =@cardId
END
ELSE
Update [Card]
set points = points - @points
where id =@cardId OR
userId = @userId
END
問題はにありますSET @cardId..
エラーは次のとおりです。
サブクエリは複数の値を返しました。サブクエリが=、!=、<、<=、>、> =の後に続く場合、またはサブクエリが式として使用される場合、これは許可されません。
どのようにそれは可能ですか?
助けてくれてありがとう