我想在SQL中创建一个表,其中列名(类似于userid)记录修改字段的人的iD。
可以做到,如果是这样的话。
需要一个SQL脚本来创建一个带有计算列的表,该列自动记录用户ID
请帮忙
答案 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