create trigger getid
on table
after update
as
select id from inserted

解决方案 »

  1.   

    你这个   inserted  是什么意思?说实话 我这个帖子  最核心要问的就是怎么获得  这个被更新的列的 id 
      

  2.   

    ID (P)    和    name 
      
    1            a 
    2            b 
    3            c 
    比如我更新 id  为  2 的name  让他  成为 d
    我想获得  获得 这个被更新的  列的  ID 
    应该怎么写,
    不是意义不意义的问题 我是发复杂的问题抽象成简单的问题。说复杂了 还有人回吗···
      

  3.   

    inserted 是包含所受影响行的新镜像
    deleted 是包含旧镜像
      

  4.   

    更新 id   有人会说 这不多此一举吗,我更新是在前台更新
    对于数据库  那表现为  就是     ID 为 2的name  编程 了  d
    后台没有前台  更新的  具体 id
    所以 写触发器 的时候 在  where  后边跟的 ID=?  这个  ?是我要的    怎么获得
      

  5.   

    5楼的你回答的  很贴切,我 就不明白inserted 所谓的新镜像  是什么东西,直接用?还是 什么意思
      

  6.   

    在进行update时,会自动生成两个临时表,一个是 inserted,一个是 deleted.后者是更新时被更新的行,前者是更新时重写入表中的行.如果你更新了表,那么 inserted 表中的id列值就是你更新后的id.
    不过,前台对记录进行更新时,一般都要把id带出来,确定要更新哪一条记录的,加上很少(或者说基本不)直接更改id列,那,前台就应该有相关的id,否则连更新哪条记录都很难确定.所以,楼主恐怕还是要从前台程序或者算法上好好考虑一下才对.
      

  7.   

    DELETED 指定由更新或删除操作删除的值。以 DELETED 为前缀的列反映 UPDATE 或 DELETE 语句完成之前的值。
    NSERTED 指定由插入操作或更新操作添加的值。以 INSERTED 为前缀的列反映 UPDATE 或 INSERT 语句完成之后
    但在触发器执行之前的值。