创建一个记录用户标识SQL的列

时间:2016-10-07 05:00:58

标签: mysql sql sql-server

我想在SQL中创建一个表,其中列名(类似于userid)记录修改字段的人的iD。

可以做到,如果是这样的话。

需要一个SQL脚本来创建一个带有计算列的表,该列自动记录用户ID

请帮忙

1 个答案:

答案 0 :(得分:0)

我认为你需要类似触发器的东西。

MSDN

定义

触发器是一种特殊的存储过程,在数据库服务器中发生事件时自动执行。

在您的方案中,触发器将在用户ID更新后保存该ID。

你的问题虽然有点暗淡,你会在哪里获得用户名?

假设用户名是sql server中的登录帐户

触发器的脚本将是这样的

ALTER TRIGGER [dbo].[SaveUserID]
   ON  [dbo].[Employee]
   AFTER UPDATE
AS 
BEGIN
    SET NOCOUNT ON;
    if UPDATE(employee_name)
    begin
        insert into auditTrail (username,useridChanged) 
        values (SYSTEM_USER,(select employee_name from deleted))
    end
END

audittrail的列将是username和useridchanged。

请注意,此代码适用于Sql Server