declare @i int
select @i=0
while @i<31
insert into b select * from deleted
end

解决方案 »

  1.   

    按照楼上的朋友给的方式写,sql系统死机,怎么办,
      

  2.   

    不好意思,我忘记了一点
    declare @i int
    select @i=0
    while @i<31
    insert into b select * from deleted
    @i=@i+1
    end
    确实不好意思哈!这个不会有问题了
      

  3.   

    还不对,太慌了
    declare @i int
    select @i=0
    while @i<31
    insert into b select * from deleted
    set @i=@i+1
    end
      

  4.   

    楼上的朋友,不行呀,还是死机,
    这是我的触发器原码
    CREATE TRIGGER [p_cmdJhCl] ON [dbo].[DDRBCMDJH] 
    FOR INSERT 
    AS
    begin
    declare @DDRQ as varchar(20)declare @KBH as char
    declare @KMC as varchar(30)
    declare @QDMC as varchar(30)
    declare @number as integer
    set @number=0select @DDRQ=Convert (varchar(10),CXCYear) + Convert(varchar(10),CXCMonth),@KBH=KBH,@KMC=KMC,@QDMC=QDMC  from insertedwhile @number<31
    insert into DDRBCMDCL  (DDRQ,DWMC,QDMC) values (@DDRQ,@KMC,@QDMC) 
    set @number=@number+1
    end
      

  5.   

    这个是我测试通过的
    CREATE TRIGGER [Tr_n] ON [dbo].[employees] 
    FOR delete
    AS
    declare @i int
    select @i=0
    while @i<31
    begin
    insert into employees1 select * from deleted
    select @i=@i+1
    end
      

  6.   

    while @number<31
    begin
    insert into DDRBCMDCL  (DDRQ,DWMC,QDMC) values (@DDRQ,@KMC,@QDMC) 
    set @number=@number+1
    end
      

  7.   

    CREATE TABLE [aa] (
    [id] [int] NULL ,
    [num] [int] NULL 
    ) ON [PRIMARY]
    GOCREATE TABLE [bb] (
    [id] [int] NULL ,
    [total] [int] NULL 
    ) ON [PRIMARY]
    GO
    create trigger bq
    on aa for insert
    as
    declare @id int,@num int,@i int
    select @i=0
    while @i<31
    begin
    insert into bb select * from inserted
    set @i=@i+1
    end
    你这个问题不用游标吧,只要用个循环就可以了