0

我要做的是检查两个字段 ( user_account.status& rental_queue.movie_return) 的值是否为 2,如果是,则更新payment.rental_fee为 25。我收到错误

必须声明标量变量@rental_fee

END;(不正确的语法)

感谢您的任何帮助 :)

DECLARE @rental_fee DECIMAL(12);
SET @rental_fee = 25;
GO

IF (SELECT User_Accounts.status 
    FROM User_Accounts 
    WHERE User_Accounts.user_id IN (SELECT Rental_Queue.movie_return 
                                    FROM Rental_Queue
                                    JOIN User_Accounts ON Rental_Queue.user_id = User_Accounts.user_id
                                    WHERE Rental_Queue.movie_return = 2)) = 2
BEGIN TRANSACTION @rental_fee;
   USE Netflix
   GO

   UPDATE PAYMENT
   SET rental_fee = 25
   WHERE PAYMENT.payment_id = (SELECT User_Accounts.payment_id
                               FROM User_Accounts
                               JOIN PAYMENT on User_Accounts.payment_id = PAYMENT.payment_id
                               WHERE User_Accounts.status = 2)
END;
COMMIT TRANSACTION @rental_fee
GO
4

0 回答 0