我想在sql中创建一个表,其中一个列名(类似userid)记录修改字段的人的id。能做到吗?如果能,怎么做。需要一个sql脚本来创建一个表,其中包含一个自动记录userid的计算列请帮忙
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的
1条答案
按热度按时间ldfqzlk81#
我想你需要一个扳机之类的东西。
根据msdn的定义
触发器是一种特殊的存储过程,它在数据库服务器中发生事件时自动执行。
在您的场景中,一旦用户的id被更新,触发器就会保存它。
你的问题有点模糊,你从哪里得到用户名?
假设用户名是sql server中的登录帐户
触发器的脚本应该是这样的
audittrail的列将是username和useridchanged。
但请注意,此代码是针对sql server的