CREATE  TRIGGER trig_aa_insert ON aa
FOR INSERT
AS
set nocount on
declare @val1 varchar(20)
declare cur_aa_hdy cursor for
select 要判断的字段 from inserted
open cur_aa_hdy
fetch next from cur_aa_hdy into @val1
while (@@fetch_status=0)
begin
--对@val1进行判断,在其他的两个表中插入相应的数据
         ..................................
fetch next from cur_aa_hdy into @val1
end
close cur_aa_hdy
deallocate cur_aa_hdy
delete aa

解决方案 »

  1.   

    用游标
    CREATE  TRIGGER trig_aa_insert ON a
    FOR INSERT
    AS
    declare @val1 varchar(20)
    declare cur_aa_hdy cursor for
    select 要判断的字段 from inserted
    open cur_aa_hdy
    fetch next from cur_aa_hdy into @val1
    while (@@fetch_status=0)
    begin
    if(@val1........)     
         insert into table1 select * from a where 要判断的字段=@val1
             if(@val1........)
         insert into table2 select * from a where 要判断的字段=@val1
       
             ..................................
    fetch next from cur_aa_hdy into @val1
    end
    close cur_aa_hdy
    deallocate cur_aa_hdy
    delete from  a
      

  2.   

    create trigger aa on 表A
    for insert
    as
    declare @fd varchar(200)  --实际处理时,根据你要判断的字段的类型来定义
    --定义游标
    declare #aa cursor for select 你要判断的字段 from inserted
    open #aa  --打开游标,循环处理你的数据
    fetch next from #aa into @fd
    while @@fetch_status=0
    begin
       ..... 这里是你逐条处理的语句
       fetch next from #aa into @fd  --循环从游标中取得插入的值
    end
    close #aa  --关闭游标
    deallocate #aa  --释放游标
    rollback tran  --使些次插入的语句失效
    delete from 表A  --如果你的表A 在使用些触发器前是空的,就可以不要此句,因为上面那句会阻止所有的数据插入操作