mysql 触发器 列级_列级触发器 SQL Server
列级触发器就是对表中的某列进行添加或修改时所执行的触发器。
建立列级触发器与建立触发器的语法是相同的,只是在创建时使用IF UPDATE(column)参数。
语法:
CREATE TRIGGER trigger_name
ON { table | view }
[ WITH ENCRYPTION ]
{
{ { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] }
[ WITH APPEND ]
[ NOT FOR REPLICATION ]
AS
[ { IF UPDATE ( column )
[ { AND | OR } UPDATE ( column ) ]
[ ...n ]
| IF ( COLUMNS_UPDATED ( ) { bitwise_operator } updated_bitmask )
{ comparison_operator } column_bitmask [ ...n ]
} ]
sql_statement [ ...n ]
}
}
参数说明:
IF UPDATE
(column):测试在指定列上进行的INSERT或UPDATE操作,不能用于DELETE操作,可以指定多列。因为在ON子句中指定了表名,所以在
IF
UPDATE子句中的列名前不要包含表名。若要测试在多个列上进行的INSERT或UPDATE操作,可在第一个操作后指定单独的
UPDATE(column)子句。在INSERT操作中IF UPDATE将返回TRUE值,因为这些列插入了显式值或隐性(NULL)值。
本示例在“MR_SQL”数据库的“MR_Stu_XX”表中创立一个列级触发器,当添加或修改“MR_Stu_XX”表中的“学生姓名”字段时,将在创建的“MR_Stu_JL”表中加以记录。
使用Transact-SQL建立列级触发器
操作步骤如下:
(1)打开SQL查询分析器。
(2)SQL语句如下:
在MR_SQL数据库中创建数据表MR_Stu_JL,用于记录修改MR_Stu_XX表时的时间、用户名等。
USE MR_SQL
GO
CREATE TABLE MR_Stu_JL
(
Data datetime,
MR_id char(4),
state varchar(16),
MR_name varchar(30)
)
GO
在“MR_Stu_XX”表中创建列级触发器“TRI_Stu_JL”,对“MR_Stu_XX”表的“学生编号”进行添加、修改时执行“TRI_Stu_JL”触发器。
CREATE TRIGGER TRI_Stu_JL ON dbo.MR_Stu_XX
FOR INSERT,UPDATE
AS
DECLARE @id char(4)
Select @id=学生编号 from Inserted
if UPDATE(学生姓名)
INSERT MR_Stu_JL VALUES(Getdate(),@id,'修改学生姓名',user_name())
GO
mysql 触发器 列级_列级触发器 SQL Server相关推荐
- MySQL如何制作报表_(MySQLToSQL) 生成报表 - SQL Server | Microsoft Docs
生成报告 (MySQLToSQL)Generating Reports (MySQLToSQL) 01/19/2017 本文内容 使用命令执行的某些活动的报告在对象树级别的 SSMA 控制台中生成.T ...
- mysql事务日志备份_事务日志备份 (SQL Server)
事务日志备份 (SQL Server)Transaction Log Backups (SQL Server) 01/05/2018 本文内容 适用于:Applies to: SQL ServerSQ ...
- SQL Server自动化运维系列——监控磁盘剩余空间及SQL Server错误日志(Power Shell)...
原文:SQL Server自动化运维系列--监控磁盘剩余空间及SQL Server错误日志(Power Shell) 需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的 ...
- oracle自增列问题i,Oracle序列 和 SQL SERVER 自增列的问题-oracle
现对一表进行如下操作,主键为ID 1.定义并启动一个事务 2.使用com智能指针打开表 _RecordsetPtr pRecPtr = m_pAdoDb->OpenTable(strSQL,ad ...
- mysql注入漏洞检查_漏洞检测:SQL注入漏洞 WASC Threat Classification
1. 过滤用户输入的内容,检查用户输入的内容中是否有非法内容.如,|(竖线符号). & (& 符号).;(分号).$(美元符号).%(百分比符号).@(at 符号).'(单引 ...
- mysql和sql server能共存吗_让防火墙与SQL Server数据库共存
欢迎进入Windows社区论坛,与300万技术人员互动交流 >>进入 安全与性能是数据库管理员的两块心头肉.而通过防火墙来保护数据库的安全无疑是一种不错的选择.但是有时会防火墙与SQL S ...
- 对警报线程池的警报线程_审核和警报SQL Server作业状态更改(启用或禁用)
对警报线程池的警报线程 In this article, we will talk about how to track enabled or disabled SQL jobs in SQL Ser ...
- mysql查询第二个字母为a_MSSQL_关于SQL Server查询语句的使用,一.查询第二个字母是t或者a的 - phpStudy...
关于SQL Server查询语句的使用 一.查询第二个字母是t或者a的雇员的全部信息 select * from employees where firstname like '_[t,a]%' 注意 ...
- mysql运用索引写出高效sql_从SQL Server到MySql(5) : 高性能的MySql 索引策略
高效地选择和使用索引有很多种方式, 其中有些是针对特殊案例的优化方法, 有些则是针对特定行为的优化. 1 独立的列 如果查询中的列不是独立的, 则MySql 就不会使用索引. 索引列不能是表达式的一部 ...
最新文章
- 机器学习中的聚类算法(1):k-means算法
- python标准库很丰富支持多种编程范式_计算机考试简答题
- XamarinAndroid组件教程RecylerView动画组件使用动画(2)
- Unity2D游戏开发基础教程1.2 项目、资源和场景
- 数据挖掘应用现状与产品分析
- java 输出编码_从代码看java输入输出中的编码和解码
- 电大计算机网络网考,电大计算机网络(本)学习周期01任务A_0009答案
- IP地址与二进制转换
- linux 登入用户记录,linux记录所有用户登陆及执行过的命令脚本
- python 扫描仪_玩《Minecraft我的世界》学python编程,可领|取电子学习版本
- 手机modem开发(20)---公平性测试
- python使用缩进来体现-Python使用缩进来体现代码之间的逻辑关系。
- mysql实现开始时间和结束时间的查询
- 数字人正走进现实!AI大脑+高颜值
- OLAP分析引擎Druid配置文件详解(五):MiddleManager配置文件
- c#+wps插件开发(1)
- echarts自适应大小或改变窗体大小自适应大小与浏览器最大最小化事件
- 士成兄的面试经历(放弃5家offer终去了华为)
- 【合集】Jerry Wang 2018~2021 四年期间的 SAP 技术文章合集
- 同学,其实你可以不用周游世界……
热门文章
- Android透明到白色滑动渐变,Android开发之Activity全透明渐变切换方法
- delphi 安卓图片保存数据库_delphi数据库存储图片
- 5g鸿蒙概念,OPPO 5G概念机曝光!骁龙855+5000mAh+鸿蒙系统,续航太强悍
- java开发经验分享
- 我的世界java版建绿宝石农场_我的世界:你会用新版手动绿宝石农场吗?灾厄巡逻队搭配地狱门!...
- 真正爱你的男孩(女孩必看)转
- 怎么手写转文字?借助这3款工具轻松实现
- 你不能不知道的17个营销寓言……
- 百度爬虫:如何提高百度蜘蛛对网站的抓取量
- Cloudera Hadoop架构及Hadoop Common实现原理