- 实验目的
1.能够理解触发器调用的机制。
2.能够使用SQL命令创建DML触发器。
3.能够完成触发器的修改、删除等管理任务。
- 实验设备
操作系统:Win11
开发软件:SQL Server
- 实验内容
针对第6章设计的电子商务系统,做如下操作。
1.创建触发器tr1,实现当修改商品表中的数据时,显示提示信息“商品表信息被修改了。”
2.使用触发器tr2,实现当修改商品表中某种商品的商品编号时,对应购买信息表中的商品编号也要修改。
3.创建一个DDL触发器tr3,禁止修改和删除当前数据库中的任何表。
4.查看商品表中已创建的触发器。
5.查看已创建的触发器tr1的内容。
6.删除商品表上的触发器tr1。
- 实验步骤及实验结果
1.CREATE TRIGGER tr1
2.ON Product
3.AFTER UPDATE
4.AS
5.BEGIN
6. PRINT '商品表信息被修改了。'
7.END
8.CREATE TRIGGER tr2
9.ON Product
10.AFTER UPDATE
11.AS
12.BEGIN
13. IF UPDATE(ProductID)
14. BEGIN
15. UPDATE PurchaseInfo
16. SET ProductID = inserted.ProductID
17. FROM PurchaseInfo
18. JOIN inserted ON PurchaseInfo.ProductID = deleted.ProductID
19. WHERE PurchaseInfo.ProductID = deleted.ProductID
20. END
21.END
22.
23.create trigger tr3 on database
24.for alter_table,drop_table
25.as
26.begin
27.rollback;
28.raiserror('修改和删除表的操作被禁止',16,1);
29.end
30.exec sp_helptrigger 'Product'
31.drop trigger tr1