创建一个记录userid sql的列

gr8qqesn  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(210)

我想在sql中创建一个表,其中一个列名(类似userid)记录修改字段的人的id。
能做到吗?如果能,怎么做。
需要一个sql脚本来创建一个表,其中包含一个自动记录userid的计算列
请帮忙

ldfqzlk8

ldfqzlk81#

我想你需要一个扳机之类的东西。
根据msdn的定义
触发器是一种特殊的存储过程,它在数据库服务器中发生事件时自动执行。
在您的场景中,一旦用户的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的

相关问题