这里为什么要用游标,一条语句就解决:
insert into qz_dingcontent_querylog select mobilno,'11',types_id from Ding_record

解决方案 »

  1.   

    可Ding_record 中的记录要添减的,  
      

  2.   

    全部的代码是这样:
    declare @companyname varchar(128)
    declare @mobilno numeric(12)
            declare @id varchar(128)
    declare @h numeric(12)
            declare @IsYdLt varchar(12)
            declare @types_id int declare cur cursor local read_only static for 
    select  mobilno,types_id from Ding_record 
    set nocount on        open cur
    FETCH FROM cur into  @mobilno,  @types_id    
            If Len(@MobilNo) = 11 
    begin
            set @h = Left(@MobilNo, 3)
    end
            If @h = '135' Or @h = '136' Or @h = '137' Or @h = '138' Or @h = '139' 
    begin
            set    @IsYdLt = '0989609'
            end
            else
              if @h = '130' Or @h = '131' Or @h = '133' 
             begin
              set  @IsYdLt = '866609'
             end

        
        while   @@FETCH_STATUS = 0
        /* if @@FETCH_STATUS = 0 */        begin
            declare cur1 cursor local read_only static for 
    select top 1 companyname, qz_dian_works.id,qz_dian_works.types_id from Ding_record ,qz_dian_works where Ding_record.types_id=qz_dian_works.types_id and
        qz_dian_works.id not in (select qzcontent_id from qz_dingcontent_querylog,ding_record where ding_record.Mobilno=qz_dingcontent_querylog.mobilno and ding_record.types_id=qz_dingcontent_querylog.types_id)
    order by qz_dian_works.id       set nocount on
            open cur1
    FETCH FROM cur1 into  @companyname ,@id, @types_id
     close cur1
    --insert into sendqueue (serviceid,feetype,feecode,feetermid,SrcTermID,msgcontent,DestTermID,FeeUserType,ISMGFlag,msgformat) values ('qz','1','30',@mobilno,@IsYdLt ,@companyname+@id,@mobilno,'2','2','0')
    --insert into qz_dingcontent_querylog (mobilno,qzcontent_id,types_id) values (@mobilno,'11',@types_id) 

    --insert into sendqueue (serviceid,feetype,feecode,feetermid,SrcTermID,msgcontent,DestTermID,FeeUserType,ISMGFlag,msgformat) values ('qz','1','30',@mobilno,@IsYdLt ,'dd',@mobilno,'2','2','0')
    insert into qz_dingcontent_querylog (mobilno,qzcontent_id,types_id) values (@mobilno,'11',@types_id) 

    FETCH NEXT FROM cur
    FETCH FROM cur into  @mobilno,  @types_id
       end
            close cur
    DEALLOCATE cur
      

  3.   

    中间一段应这样写
    FETCH next FROM cur into  @mobilno,  @types_id    
           while   @@FETCH_STATUS = 0
             begin
    insert into qz_dingcontent_querylog (  mobilno,qzcontent_id,types_id) values (@mobilno,'11',@types_id) 
    FETCH NEXT FROM cur  into  @mobilno,  @types_id
       end