--GO
UPDATE WORKERS SET SAGE=0 WHERE SAGE=12
(6)练习违反T2触发器的约束的插入操作。 --INSERT WORKERS
--VALUES('00001','NAME1','F',27,'IM')
DELETE WORKERS WHERE NUMBER='00001'
(7)练习违反T3触发器的约束的更新操作。
INSERT WORKERS
VALUES('00002','name3','F',12,'IM') GO
UPDATE WORKERS SET NUMBER='0000' WHERE NUMBER='00002'
SELECT * FROM WORKERS
(8)建立一个在worker表上的触发器T4,要求插入记录的sage值必须比表中已记录的最大sage值大。
CREATE TRIGGER T4 ON WORKERS FOR INSERT AS
IF (SELECT SAGE FROM INSERTED )>(SELECT MAX(SAGE) FROM WORKERS) BEGIN
PRINT '必须输入的值比表中已记录的最大sage值大。' ROLLBACK TRANSACTION END
(9)建立一个在worker表上的触发器T5,要求当更新一个记录的时候,表中的记录的sage值要比原记录的sage值大,因为一般工资级别只能升不能降。 CREATE TRIGGER T5 ON WORKERS
FOR UPDATE AS
IF (SELECT SAGE FROM INSERTED )>(SELECT SAGE FROM DELETED) BEGIN
PRINT '必须输入的值比原记录的sage值大。' ROLLBACK TRANSACTION END
相关推荐: