请问这种 Inserted 一般怎样处理呢?我用游标处理代码如下,有问题只好改成取其中一条:select top 1 * from Inserted ……:
------------------------------------------------------------------------------------------------------------------------------------Declare my_cursor cursor  
for
Select org, dest, content From Insertedopen my_cursor
fetch next from my_cursor into @vFrom, @vTo, @vContent
while(@@fetch_status=0)
  begin  Exec proc_SaleFilter @vFrom, @vTo, @vContent  fetch next from my_cursor into @vFrom, @vTo, @vContent
  end
close my_cursor
deallocate my_cursor

解决方案 »

  1.   

    --直接insert不行?insert into 表(a,b,c) select a,b,c from inserted
      

  2.   

    用临时表处理,先把要插入的数据放到临时表,通过循环每insert一笔数据,就执行存储过程一次;
    不使用触发器,也不使用游标
      

  3.   

    可以不需要通过变量,直接将inserted表的内容插入到目标表.
      

  4.   

    可以尝试修改一下存储过程,把存储过程的语句放在触发器里,然后使用inserted
      

  5.   

    我需要调用的存储过程 proc_SaleFilter 很复杂,不是简单的往表里面传数据
      

  6.   

    --add,******************************************************
    --用静态游标和forward_only属性try.
    set nocount on 
    Declare my_cursor cursor  STATIC  forward_only
    ---------------------------------------------------------
    for 
    Select org, dest, content From Inserted open my_cursor 
    fetch next from my_cursor into @vFrom, @vTo, @vContent 
    while(@@fetch_status=0) 
      begin   Exec proc_SaleFilter @vFrom, @vTo, @vContent   fetch next from my_cursor into @vFrom, @vTo, @vContent 
      end 
    close my_cursor 
    deallocate my_cursor