我要做的是检查两个字段 ( 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