inserted表就是当表发生INSERTED操用时,这个表时暂时存入要INSERT的数据记录。

解决方案 »

  1.   

    INSERTED表用于临时表,在该表中可能会存在多条记录。主要看你的执行
      

  2.   

    是,不过用批量插入时不行即:insert tableA select * from ....
    inserted里放的是每次要插入的记录
    如:
    CREATE TRIGGER trig_user_insert
    ON tableA
    FOR INSERT 
    AS
       insert tableB select user ,'中国',getdate() from inserted
      

  3.   

    declare @CustomerName varchar(20),@CustomerAdd varchar(200),@CustomerTel1 varchar(50),
    @CustomerCard varchar(20), @CustomerContent varchar(300),
    @PreDealEndTime datetime,@ModiDateTime datetime,
    @TurnDeptId  int,
    @WorkPrg varchar(2),@Memo varchar(100)
    declare @Recid numeric(16),  @intMax numeric(16)DECLARE authors_cursor CURSOR FOR
    SELECT CardNo,LinkMen,Content,LinkAddr,AcceptDate,LinkTel,RepairStation,Memo FROM Inserted
    OPEN authors_cursorFETCH NEXT FROM authors_cursor
    INTO @CustomerCard,@CustomerName,@CustomerContent,@CustomerAdd,@ModiDateTime,@CustomerTel1,@TurnDeptId,@Memo
    Set @CustomerContent = @CustomerContent + @Memo
    WHILE @@FETCH_STATUS = 0
       BEGIN   --PRINT 'Author: ' + @user_code + ' ' +  @user_name
       select @intMax = (Select isnull(Max(RecId),0) from t_accept_record)
       set @Recid = @intMax + 1
       if @TurnDeptId is null or @TurnDeptId = 0
       begin
    set @WorkPrg = '1'
    set @TurnDeptId = 0
       end
       else
    set @WorkPrg = '2'   insert into t_accept_record
       (
            RecId,
    ClassID,
    WorkPrg,
    CustomerName,
    CustomerAddr,
    CustomerTel1,
    CustomerCard,
    CustomerContent,
            --AcceptAgentId,
            AcceptDateTime,
            PreDealEndTime,
            TurnDeptId
    --ModiDateTime,
    --ModiAgentId
        )
        values
        (
            @RecId,
    '10',
    @WorkPrg,
    @CustomerName,
    @CustomerAdd,
    @CustomerTel1,
    @CustomerCard,
    @CustomerContent,
            --@AcceptAgentId,
            GetDate(),
            GetDate()+2, ---管理部添加成批业务,预计处理时间两天
            cast (@TurnDeptId as int)
    --@modiDateTime,
    --@AcceptAgentId
        )
        FETCH NEXT FROM authors_cursor
        INTO @CustomerCard,@CustomerName,@CustomerContent,@CustomerAdd,@ModiDateTime,@CustomerTel1,@TurnDeptId,@Memo
        Set @CustomerContent = @CustomerContent + @Memo
       END
    CLOSE authors_cursor
    DEALLOCATE authors_cursor反正我用游标 应该可以吧 大家看看! 谢谢
      

  4.   

    没怎么仔细看你的语句,其实很多时候用不着用游标的。
    比如大力的经典语句。
    declare @i int
    set @i = 0
    update table1 set @i = @i + col1, col2 = @i