@num没用吗?
join之后的结果也没使用吗?

解决方案 »

  1.   

    打错了,是:
    use mydb
    go
    create procedure kk
    @num char(20)
    as
    alter trigger t1_insert
    on t1
    for insert
    as
    update t1 set t1.name=@num
    from t1 inner join inserted i
    on t1.name=i.name
    go
      

  2.   

    我不知道
    update t1 set t1.name=@num
    from t1 inner join inserted i
    on t1.name=i.name

    update t1 set t1.name=@num
    有什么区别
      

  3.   

    我只是想改变新插入记录的name字段值,而update t1 set t1.name=@num
    会改变了所有记录的。而且我问的是为什么每次都提示要定义@num.但是
    @num已经在一开头就定义了阿!!!
      

  4.   

    建表:create table t1 (name varchar(20))
    建触发器: create trigger t1_insert on t1 for insert
               as
               update t1 set t1.name='ab' where t1.name in (select i.name from inserted i)
    建存储过程
    create proc kk @num char(20)
    as
    declare @sql varchar(100)
    set @sql='alter trigger t1_insert on t1 for insert as
    update t1 set t1.name='+quotename(@num,'''')+' where t1.name in (select i.name from inserted i)'
    exec @sql