SQL Server : триггер как прочитать значение для Insert, Update, Delete

У меня есть триггер в одной таблице и я хотел бы читать значение UserId при вставке, обновлении или удалении строки. Как это сделать? Код ниже не работает, я получаю ошибку на UPDATED

ALTER TRIGGER [dbo].[UpdateUserCreditsLeft] 
   ON  [dbo].[Order]
   AFTER INSERT,UPDATE,DELETE
AS 
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    DECLARE 
    @UserId INT,

    SELECT @UserId = INSERTED.UserId FROM INSERTED, DELETED

    UPDATE dbo.[User] SET CreditsLeft = CreditsLeft - 1 WHERE Id = @UserId
END
17
задан marc_s 14 December 2011 в 14:40
поделиться