如圖,有一個表和一個觸發器,運行時報在 on 附近有語法錯誤, 不明白哪里有錯, 請教大家
uj5u.com熱心網友回復:
簡單處理了一下, 語法上能過了。AS 后面要接 BEGIN
USE tempdb
GO
CREATE TABLE Truck(
VID varchar(15) constraint truck_pk primary KEY,
YEAR DATE,
make varchar(15),
VDesc varchar(30),
odoReading varchar(10),
odoReadingDate date,
punchaseDate date,
price varchar(15),
assigned char(5),
EID varchar(15),
--CONSTRAINT Truck_fk FOREIGN KEY (EID) REFERENCES ProEngineer(EID)
CONSTRAINT assigned_cc CHECK((assigned='Y') OR (assigned='N') )
);
GO
CREATE TRIGGER check_Assigned
ON Truck AFTER UPDATE AS
BEGIN
IF UPDATE(EID)
DECLARE @old_EID varchar(15)
DECLARE @new_EID varchar(15)
DECLARE @old_assigned char(5)
DECLARE @new_assigned char(5)
SELECT @old_assigned = (SELECT assigned FROM deleted) SELECT @new_assigned = (SELECT assigned FROM inserted) SELECT @old_EID = (SELECT EID FROM deleted)
SELECT @new_EID = (SELECT EID FROM inserted)
IF @old_EID != 'No' and @new_EID != 'No'
BEGIN
PRINT 'This vehicle is assigned, please return vehicle!' ROLLBACK TRANSACTION
END
ELSE
BEGIN
PRINT 'Assign successfully'
END
END;
uj5u.com熱心網友回復:
不行啊。。。 還是報 ON 附近有語法錯誤 我就不太懂哪里錯了。。。
uj5u.com熱心網友回復:
USE tempdb
GO
CREATE TABLE Truck(
VID varchar(15) constraint truck_pk primary KEY,
YEAR DATE,
make varchar(15),
VDesc varchar(30),
odoReading varchar(10),
odoReadingDate date,
punchaseDate date,
price varchar(15),
assigned char(5),
EID varchar(15),
--CONSTRAINT Truck_fk FOREIGN KEY (EID) REFERENCES ProEngineer(EID)
CONSTRAINT assigned_cc CHECK((assigned='Y') OR (assigned='N') )
);
GO
CREATE TRIGGER check_Assigned
ON Truck For UPDATE AS
BEGIN
IF UPDATE(EID)
DECLARE @old_EID varchar(15)
DECLARE @new_EID varchar(15)
DECLARE @old_assigned char(5)
DECLARE @new_assigned char(5)
SELECT @old_assigned = (SELECT assigned FROM deleted) SELECT @new_assigned = (SELECT assigned FROM inserted) SELECT @old_EID = (SELECT EID FROM deleted)
SELECT @new_EID = (SELECT EID FROM inserted)
IF @old_EID != 'No' and @new_EID != 'No'
BEGIN
PRINT 'This vehicle is assigned, please return vehicle!' ROLLBACK TRANSACTION
END
ELSE
BEGIN
PRINT 'Assign successfully'
END
END;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/36263.html
標籤:基礎類
