删除触发器将操作用户保存到另一个表的字段里

表A 结构:

ID Name 
1 ZHANG


表B 结构
Id tableA-ID Name useid

SQL 用户:
user1 
user2
user3 
以上三个用户都有删除记录的权限

现在user1 执行了删除一条表记录的命令, 现在想用触发器在A表记录被删除之前把表记录插入到表B 中并且同时插入执行此命令的用户名.只是想记录下来是谁删除的记录

测试样本: user2 删除了一条记录从表A 结果如下:
表B

Id tableA-ID Name useid
1 1 ZHANG user2

作者: whisky_sour   发布时间: 2011-06-10

SQL code
CREATE TRIGGER ON [表A]
AFTER DELETE
AS
INSERT INTO [表B] ([tableA-ID], [Name], [useid]) SELECT [ID], [Name], USER FROM DELETED

作者: ForFumm   发布时间: 2011-06-10

SQL code

--得到当前用户?
select current_user
select User_name()

作者: maco_wang   发布时间: 2011-06-10

为什么返回值是 dbo呢?

作者: whisky_sour   发布时间: 2011-06-10

引用 1 楼 forfumm 的回复:
SQL code
CREATE TRIGGER ON [表A]
AFTER DELETE
AS
INSERT INTO [表B] ([tableA-ID], [Name], [useid]) SELECT [ID], [Name], USER FROM DELETED


插入的用户名是DBO

作者: whisky_sour   发布时间: 2011-06-10

SQL code

  select suser_name()

作者: abcjun188   发布时间: 2011-06-10