私がやろうとしているのは、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