【问题标题】:SQL Server Trigger after Update Record更新记录后 SQL Server 触发器
【发布时间】:2017-07-22 22:06:07
【问题描述】:

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

DB: Company

Table:  dbo.Lincensee

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

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

例如查询:

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 查询中对其进行硬编码,但我宁愿将它放在触发器中。

有什么想法吗?谢谢。

【问题讨论】:

标签: c# sql-server triggers


【解决方案1】:

我关注了 Suresh Link 并使用 After Update 找到了 T-SQL 代码。并用我的数据库修改:

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; 

谢谢大家,抱歉回复晚了。

【讨论】:

    猜你喜欢
    • 2015-01-20
    • 2016-11-03
    • 2014-10-23
    • 1970-01-01
    • 2011-06-03
    • 1970-01-01
    • 1970-01-01
    • 2018-05-26
    • 1970-01-01
    相关资源
    最近更新 更多