Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >SQL Server更新记录后的触发器

SQL Server更新记录后的触发器
EN

Stack Overflow用户
提问于 2017-03-02 23:33:52
回答 1查看 508关注 0票数 0

嘿,我正在尝试在SQL Server中创建一个触发器,以便在更新记录后自动在列中插入getdate()和SYSTEM_USER,而不是包括在更新查询中。

代码语言:javascript
代码运行次数:0
复制
DB: Company

Table:  dbo.Lincensee

Column: DateModified -> I want to Insert: getdate()
Column: ModifiedBy - > I want to insert: SYSTEM_USER

从在C#中运行的查询更新特定记录之后。

查询示例:

代码语言:javascript
代码运行次数:0
复制
string strQuery = @"UPDATE dbo.Licensee SET LNAME = @LastName, 
                                FNAME = @FirstName,
                                MIDNAME = @MiddleName,
                                FIRMNAME = @OrganizationName,
                                SSN = @SSN,
                                WHERE LICNUM = @licenseToUpdate";
SqlCommand updateCommand = new SqlCommand(strQuery, connUpdateLicense);
...

PS:我可以在Set查询中对其进行硬编码,但我更愿意将其放在触发器中。

有什么想法吗?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-09 22:06:30

我跟随Suresh Link,使用After Update找到了T-SQL代码。并使用我的数据库进行修改:

代码语言:javascript
代码运行次数:0
复制
create trigger [INS].[licpro_modby_dateby]
on [INS].[LICPRO]
after insert, update
as
begin
update a
set modifiedby = system_user,
    datemodified = getdate()
from ins.licpro as a
join inserted as b 
on a.licnum = b.licnum; 

谢谢你们,很抱歉回复得太晚了,我要走了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42567992

复制
相关文章
SQL Server 触发器[通俗易懂]
触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。
全栈程序员站长
2022/08/31
2.8K0
SQL Server 触发器[通俗易懂]
sql server 触发器
触发器是一种特殊类型的存储过程。触发器可包含复杂的T-SQL语句。触发器不能通过名称被直接调用,也不允许设置参数。它是建立在触发事件上的。 触发器可以强制执行一定的业务规则,以保持数据完整性、检查数据有效性、实现数据库管理任务和一些附加功能。 触发器的分类: DML、 DDL、 登录触发器 创建触发器需要指定的选项:  1.触发器的名称。  2.在其上定义触发器的表。  3.触发器将何时激发。  4.激活触发器的数据修改语句。  5.执行触发操作的编程语句。 CREATE TRIGGER语句基本语法格式如下
欠扁的小篮子
2018/04/09
1.4K0
SQL Server触发器练习
    触发器的使用,其实在日常生活中还是很有帮助的。当你对一张表进行数据的怎删改查操作的时候,同时也相对另外一张甚至几张表进行同步修改操作,这个时候就会运用到触发器的概念。
静谧的小码农
2019/01/11
1.1K0
绕过SQL Server的登录触发器限制
在做渗透测试任务时,我们常常会碰到一些直连SQL Server数据库的桌面应用。但偶尔也会碰到一些后端为SQL Server的应用,并且其只允许来自预定义的主机名或应用程序列表的连接。这些类型的限制通常是通过登录触发器来强制执行的。在本文中,我将向大家展示如何利用连接字符串属性欺骗主机名和应用程序名称来绕过这些限制。示例中将会包括SSMS和PowerUpSQL。这对于那些继承了旧式桌面应用的渗透测试人员和开发人员非常有用。
FB客服
2018/07/31
2.1K0
绕过SQL Server的登录触发器限制
SQL Server 2012学习笔记 (六) ------ SQL Server 存储过程和触发器
  存储过程(Stored Procedure)是预编译SQL语句的集合,这些语句存储在一个名称下并作为一个单元来处理。存储过程代替了传统的逐条执行SQL语句的方式。一个存储过程中可包含查询、插入、删除、更新等操作的一系列SQL语句,当这个存储过程被调用执行时,这些操作也会同时执行。
挽风
2021/04/13
1.7K0
SQL Server 手机类型更新
我们有的时候会遇到整体数据类型更变的需求。 例如本来我的手机类型原本是“家用”,要修改成“工作”。 在数据中,手机类型,往往是直接UID类型来表示,或者简单的用1,2,3来标识。 以下就是当手机类型修改从2,3,都修改为1的方法。
繁华是客
2023/03/03
3930
批量更新数据小心SQL触发器的陷阱
批量更新数据时候,Inserted和Deleted临时表也是批量的,但触发器只会调用执行一次!两个概念千万不要弄混淆!
跟着阿笨一起玩NET
2018/09/19
1.2K0
sql server 实验5.2 触发器的建立与使用
一、实验目的                                                     
week
2018/08/27
2.1K0
SQL server 数据库的存储过程和触发器
3、存储过程:SQL语句和控制句的预编译集合,保存在数据库(resource),可由应用程序调用执行 优点:①模块化:一次创建,多次调用 ②速度快、效率高 ③减少网络流量 ④安全性好 分类:①系统存储过程:以sp_ 开头 sp_databases :数据库信息 sp_tables :表和视图 sp_helptext :存储过程、触发器、视图的信息 扩展存储过程,可以执行SQL外的命令,比如操作系统命令,以xp_ 开头 ②用户自定义存储过程: 命令:create procedure 存储过程名 as
L宝宝聊IT
2018/06/20
1.2K0
记录下关于SQL Server的东西
定义一个递归CTE,至少需要两个查询(或者更多),第一个查询称为定位点成员(anchor member),第二个查询称为递归成员(recursive member),基本格式如下:
Jerremy
2022/05/09
1.3K0
记录下关于SQL Server的东西
SQL Server触发器创建、删除、修改、查看示例步骤[通俗易懂]
一﹕ 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约`束。
全栈程序员站长
2022/09/06
1.5K0
SQL Server判断表中是否存在记录的SQL语句
SQL Server数据库判断记录是否存在,要不是语句不够简洁,要不就是性能有很大问题,简直就是忍无可忍!
跟着阿笨一起玩NET
2020/03/18
4.9K0
SQL触发器
什么是触发器? 触发器是一种用来保障参照完整性的特殊的存储过程,它维护不同表中数据间关系的有关规则。当对指定的表进行某种特定操作(如:Insert,Delete或Update)时,触发器产生作用。触发器可以调用存储过程。
小语雀网
2021/09/08
1.1K0
SQL Server 返回最后插入记录的自动编号ID
有三个比较类似的功能:他们分别是:SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY,它们都返回插入到 IDENTITY 列中的值。 IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值。IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回为任何会话和作用域中的特定表所生成的值。 @@IDENTITY 返回为当前会话的所有作用域中的任何表最后生成的标识值。 SCOPE_IDENTITY 返回为当前会话和当前作用域中的任何表最后生成的标识值
全栈程序员站长
2021/08/12
2.3K0
sql触发器
在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。 常见的触发器有三种:分别应用于Insert , Update , Delete 事件。 我为什么要使用触发器?比如,这么两个表:
全栈程序员站长
2022/09/06
6170
DataGear 变更部署数据库为SQL Server填坑指南(含转写后的SQL server代码及SQL server配置文件)
DataGear默认使用Derby数据库作为系统的元数据库,至于待分析的业务库则支持MySQL、SQL Server等。 Derby数据库足以支持系统的数据集、图表、看板等对象的管理,且不需要安装数据库服务,但由于目前DataGear不支持单点登录集成,因此项目上为了便于用户认证信息的统一管理,以及DataGear数据库的备份等,将Derby变更为SQL Server,与待分析的业务数据库一致。 在变更操作过程中,参考了DataGear官方说明,操作时遇到一些坑,记录下来分享与大家。 不少内容是引用官方文档的,直接抄来了。
用户1637609
2021/06/01
1.4K0
DataGear 变更部署数据库为SQL Server填坑指南(含转写后的SQL server代码及SQL server配置文件)
SQL Server通过创建临时表遍历更新数据
  前段时间新项目上线为了赶进度很多模块的功能都没有经过详细的测试导致了生成环境中的数据和实际数据对不上,因此需要自己手写一个数据库脚本来更新下之前的数据。(线上数据库用是SQL Server2012)关于数据统计汇总的问题肯定会用到遍历统计汇总,那么问题来了数据库中如何遍历呢?好像并没有for和foreach这种类型的功能呀,不过关于数据库遍历最常见的方法当然是大家经常会想到的游标啦,但是这次我并没有使用游标,而是通过创建临时表的方式来更新遍历数据的。
追逐时光者
2020/09/24
2.3K0
SQL Server通过创建临时表遍历更新数据
Python批量处理Excel数据后,导入SQL Server
紧接昨天的文章Windows下载安装配置SQL Server、SSMS,使用Python连接读写数据,我们已经安装和配置好了sqlserver,也成功测试了如何利用Python连接、读写数据到数据库。
老表
2022/02/16
4.7K0
Python批量处理Excel数据后,导入SQL Server
SQL sever 触发器
一: 触发器 是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新 记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约束。 二: SQL Server 为每个触发器都创建了两个专用表 :Inserted表和Deleted表。这两个表。 一 : 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新 记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约束。 二: SQL Server 为每个触发器都创建了两
赵腰静
2018/03/09
1K0
[转]使用SignalR和SQLTableDependency进行记录更改的SQL Server通知
原文:https://blog.csdn.net/mzl87/article/details/104342558
周星星9527
2021/02/03
1.2K0
[转]使用SignalR和SQLTableDependency进行记录更改的SQL Server通知

相似问题

SQL Server触发器更新后

10

SQL Server更新后触发器

91

Sql server:更新后创建触发器

25

SQL触发器-插入记录更新后的余额

20

SQL Server更新触发器,获取更新前和更新后的字段

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档