------ 执行以下存储过程后 只能将最后一行数据 插入HT_SALE_REC_COMPANY表 我想要逐行插入 改怎么做?
set @i =1 
select @count =count(*) from   Sheet1$ 
while(@i<=@count)
begin

delete from HT_SALE_REC_COMPANY 
delete from ht_sale_comp_agree select @rec_no=rtrim(ltrim(rec_no)),@com_name=rtrim(ltrim(comp_name))
from  Sheet1$ 
where id=@i insert into HT_SALE_REC_COMPANY(rec_no,com_name)
values(@rec_no,@com_name)
         -----这里没有逐行插入数据   
  set @i =@i+1


end

解决方案 »

  1.   


    delete from HT_SALE_REC_COMPANY  
    delete from ht_sale_comp_agree 
    写到循环外
      

  2.   

    你这个过程很有意思,好象是把sheet$1中的记录插入HT_SALE_REC_COMPANY 中,但如果id跳号了又有部分插不进去
      

  3.   

    你在while循环里用了这个 delete from HT_SALE_REC_COMPANY
    当然之前的数据都被DELETE掉了,把那2句DELETE放到WHILE循环前就OK了  
      

  4.   

    你这个过程很有意思,好象是把sheet$1中的记录插入HT_SALE_REC_COMPANY 中,但如果id跳号了又有部分插不进去
    对的 那该如何更正 ?
      

  5.   

    是不是
    delete from HT_SALE_REC_COMPANY  
    delete from ht_sale_comp_agree
    有问题啊`` 
      

  6.   

    如果是想把sheet$1中的两个字段的数据全插入HT_SALE_REC_COMPANY 表,那只要
    insert HT_SALE_REC_COMPANY (rec_no,com_name) select rtrim(ltrim(rec_no)),rtrim(ltrim(comp_name)) from sheet$1
      

  7.   

    刚回复的帖子,怎么又问啊?把
    delete from HT_SALE_REC_COMPANY  
    delete from ht_sale_comp_agree 
    这2句提到while循环前