0

私がやろうとしているのは、2 つのフィールド ( 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