APP下载

基于CTE设计的多行记录更新触发器应用研究

2017-06-05邓景顺

软件 2017年4期
关键词:课程设计学生

邓景顺



基于CTE设计的多行记录更新触发器应用研究

邓景顺

(山西大同大学数学与计算机学院,山西大同 037009)

使用SQL Server触发器可以级联更新数据库中相关表记录,现有文献中,对SQL Server触发器及应用案例的描述,多数只针对数据表中一个记录更新所激发的触发器,不能适于多行记录更新激发的触发器。在SQL Server触发器的更新语句中使用CTE,可以减少中间数据和临时数据表的存储管理,设计更简练,执行效率更高。本文通过SQLServer开发实例,改进算法,使用CTE,设计了针对多行记录更新的DML触发器,级联更新相关数据表,实现数据完整性,适用性和实用性较强。

SQL Server;触发器;多行记录更新;CTE;完整性

0 引言

CTE(Common Table Expression 公用表表达式)是从SQL Server2005开始使用的一项功能。CTE用于存储一个临时的结果集,在SELECT、INSERT、DELETE、UPDATE语句使用时都可以建立一个CTE。CTE相当于一个临时表,它的生命周期在该批处理语句执行完后就结束。

CTE语法格式:

WITH <公用表表达式>[(列名[,…])]

AS (CTE查询定义)

SELECT|INSERT|DELETE|UPDATE

其中UPDATE的语法格式为:

UPDATE 表名SET列名=表达式[,…]

[FROM 数据集[,…]][ WHERE 查询条件]

FROM子句中的数据集可以使用公用表表达式[1]。

结合约束和规则,使用触发器可以实现复杂的数据业务,执行复杂的数据约束,级联修改数据库中的所有相关表,能更有效地保证数据完整性[2-3]。

多行记录更新是指一个更新语句或操作,向数据表中插入、删除或更新多个记录,现有文献的触发器设计多针对一个记录更新设计,适于多个记录更新的触发器设计案例很少。将CTE用于触发器的数据更新语句中,利用CTE的数据集,进行中间数据的处理,语句更加清晰简练,设计过程更加方便,触发器执行效率更高。……

登录APP查看全文

猜你喜欢

课程设计学生
数字图像处理课程混合式教学改革与探索
软件设计与开发实践课程探索与实践
为什么要学习HAA课程?
赶不走的学生
瞒天过海——仿生设计萌到家
设计秀
有种设计叫而专
学生写话
学生写的话
设计之味