数据库 实验9 数据控制(完整性) 联系客服

发布时间 : 星期一 文章数据库 实验9 数据控制(完整性)更新完毕开始阅读6e67a66131b765ce0508148b

--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