我有一个字段名称为recordID和用户的表。我创建了触发器,以便在添加新记录时在用户列中插入名称。
Recordid users
xqz john
现在,我在同一表上添加了新的字段名usersmodify。 我的目标是插入用户修改记录,但保持记录Recordid和用户字段不变。
Recordid users usersmodify
xqz john david
谢谢
答案 0 :(得分:0)
因此,您当然可以在单个插入/更新触发器中完成此操作。只需稍作修改,就可以将其放置在触发器中(需要是INSERT,UPDATE触发器)。
--inserts only
UPDATE t
SET users=SUSER_NAME()
FROM TABLE t
inner join inserted i ON i.Recordid=t.Recordid
left join deleted d ON d.Recordid=t.Recordid
where d.Recordid is null
--updates only
UPDATE t
SET usersmodify=SUSER_NAME()
FROM TABLE t
inner join inserted i ON i.Recordid=t.Recordid
inner join deleted d ON d.Recordid=t.Recordid
或者,您可以有两个触发器。一个INSERTED触发器和一个UPDATED触发器。
但是,如果您要授予每个人数据库登录名,那么您将面临各种规模的痛苦。我的建议是将所有调用中的调用用户作为参数传递,并在应用程序中设置字段,并为每个应用程序或开发团队使用一个帐户。