且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

案例分享 | SQL Server触发器的简单应用(下)

更新时间:2022-06-26 18:47:48

测试功能

1、在测试数据之前,我们先看看出勤表和配置表中的数据

出勤

案例分享 | SQL Server触发器的简单应用(下)


我们看到出勤_上班时长是没有数据的,下面我们开始更新

UPDATE 出勤 SET 出勤_上班时间='7:00'
WHERE ID=1

执行完后我们再看出勤表中的数据是否有变化

案例分享 | SQL Server触发器的简单应用(下)从上图可以看出,结果符合我们预期,同理更新下班时间也会对上班时长进行更新操作,这里就不演示了。


2、我们插入数据是否也会更新上班时长呢?我们执行如下语句

INSERT INTO 出勤(出勤_月份,出勤_日期,
出勤_上班时间,出勤_下班时间,组_号)
VALUES (12,11,'8:30','12:00','01')

执行完后我们查看一下结果


案例分享 | SQL Server触发器的简单应用(下)

结果也符合我们的预期。


3、当出勤表中的日期被更新的时候,配置表里是否会插入了一条数据?我们先看看配置表中的数据

案例分享 | SQL Server触发器的简单应用(下)

我们对出勤表中的日期进行更新操作,看配置表会不会多一条记录?

UPDATE dbo.出勤 SET 出勤_日期='22'
WHERE ID=2

更新后我们看看配置表中的数据

案例分享 | SQL Server触发器的简单应用(下)

结果也符合我们的预期。


总结

整个案例其实精华部分就只是触发器部分,但是为了让小伙伴们能更加清晰的阅读和思考,故将整个案例从需求到测试都给大家展现出来。而触发器部分如果对其语法比较了解,使用起来并没有想象的那么难。当然其中有一些小技巧还是需要大家去了解一下,就比如将更新和插入操作写在一个触发器是可以的。我们也可以指定只有哪几列发生更新操作的时候才执行相应的语句。最后,如果你有一些比较经典的需求,也可以发送给我,兴许下次展示的就是你的案例啦!