在建一个在线用户表: 登录电脑名,UserID
用户登录时维护此表
在触发器中通过host_name(0 = 登录电脑名找到UserID即可。

解决方案 »

  1.   

    你改动记录的时候系统将在inserted表和deleted表中保存你的修改痕迹,
    insert:在inserted表中有增加的记录。
    update:在inserted表中有更新后的记录,在delete表中有更新前的记录。
    delete:在delete表中有删除后的记录。
      

  2.   

    哈哈,找对人了,我是只用触发器不用存储过程的“怪人”。create table beforeLog(操作摘要 varchar(100))
    go
    create trigger Log on beforeLog instead of insert as
      insert myLog(host,user,contents) 
        select host_name(),suser_sname(),操作摘要 from inserted
    go
      

  3.   

    既然一个user对应多个“存储程式”,又怎么可能在user增加记录时确定存储程式呢?逻辑不通。倒是可以在增加log记录时用触发器判断是否需要记录user增加记录。
      

  4.   

    我不明白你们的意思,你们是不是搞错我的意思了,
    关键是我有些参数是要在程式里给的,比如说在log里有个字段叫:操作程式,这个字段是是在看在哪个程式里操作,如果是储存过程我可以用参数,可用触发器怎么用呀?