我對編程非常陌生。我正在嘗試自學SQL。我製作了一個帶有客戶,租賃和庫存表的視頻商店數據庫。我正在查看示例以嘗試學習SQL,因此請善待。我希望這個觸發器能夠阻止一個人同時租用同一部電影。我一直在閱讀觸發器,並希望對下面的代碼有所幫助。SQL TRIGGER多部分標識符受限制
我收到最後一個END語法錯誤,RAISEERROR和INSERTED語法錯誤。我仍然在i.Rental.rentNum插入的i上收到消息「Trigger multipart identifier can not be bound」。
任何幫助將不勝感激!
CREATE TRIGGER
insteadOFInsert ON Rental
INSTEAD OF INSERT
AS
DECLARE @rentNum int, @action varchar(60)
SELECT @Rent_rentNum=i.Rental.rentNum inserted i;
SET @action='stop rental trigger.'
@Rent_rentNum=(SELECT rentNum FROM inserted;
BEGIN
BEGIN TRAN
SET NOCOUNT ON
IF (@RENT_rentNum=Rental.rentNum)
BEGIN
RAISEERROR ('You cannot rent the same move twice');
ROLLBACK
END
ELSE
BEGIN
INSERT INTO
Rental(rentNum)
VALUES
(@rentNum)
INSERT INTO
Rent values (rentNum);
COMMIT
PRINT 'Updated'
END
END
如果你看到,你的格式化的代碼,它不完整,一端缺失? – HaveNoDisplayName 2014-12-06 01:07:37
'INSERT INTO 租金(rentNum)...'這是不完整的 – Mihai 2014-12-06 01:07:54
並且您的插入聲明incomelete與表 – HaveNoDisplayName 2014-12-06 01:10:34