set nocount on
________________________________我加了这段代码,下面的出错代码在程序就抓不到了。
delete zfgzd                     --是怎么回事。 去掉这段代码,程序就可以通过.
from   (select a.*
       from #zfgzd1 a left join #zfgzd b
     on a.zfdh = b.zfdh
       where b.zfdh is null) as c
where  zfgzd.zfdh = c.zfdh 
________________________________
set nocount off

解决方案 »

  1.   

    to  ,DJMPH(冷开水)
    我加了set nocount on好像可以了.但不知道起什么作用。
      

  2.   

    对存储过程还有些不了解。if @@error <> 0 
    Begin
      rollback
      raiserror 20002 '主键重复。'
      return -1  //???  当遇到这行是不是后面的语句都不执行,就结束了该过程?
    end;...
    ...
    do..
      

  3.   

    删除了,当然可以插入了。
    if @@error <> 0 
    Begin
      rollback
      raiserror 20002 '主键重复。'
      return -1
    end
    else
    Begin
      commit
      raiserror 20000 '正确。'
      return 0
    end
      

  4.   

    楼上的。
    你可以误理解了我的意途.三个表zfgzd,#zfgzd,#zfgzd1,的结构完全一样。#zfgzd,和#zfgzd1是这么得来的。select * into #zfgzd From zfgzd where 1=2
    select * into #zfgzd1 from zfgzd where 1=2得到两张空表的临时表。 这两个表此时为空表。前台在操作的时候是针对 #zfgzd去操作的。 操作完后,再把#zfgzd和#zfgzd1进行比较。
    如果内容不相同,就把数据写回到zfgzd表中。此时有可能在我修改的同时,其它用户已经先占有了我用的单号(也就是其它用户用我的号提交了。那我再提交的时候就会出现主键重复) 就会出错。
      

  5.   

    你的想法,好奇怪;如果基于web,倒也可以理解;为啥不把这俩表 放在 XML 里处理呢。