比如表TableA(主键A),TableB(主键B),TableA,TableB都存在记录集A:1,B:1
ADO连接SQL Server执行如下SQL := 'insert into TableA(A) select 2 ; insert into TableB(B) select 1 ';
连接执行后,成功没出错,没有出错,请大吓看看是何原因?事实上,将此sQL单独在Sql Server中执行会提示TableB主键重复的,为什么ADO批SQL处理时没有提示出错?

解决方案 »

  1.   

    这样实际上你是在tableb上设置了主键的,不知道你客户端是用什么程序写的,c# asp php还是其他,实际上应该在客户端是有错误的,除非你使用了类似asp的on error resume next 的形式你自己仔细看下客户端代码,问题是客户端的不是sql的
      

  2.   

    客户端用Delphi写的,用ADO连接的,没有做什么特殊的处理。
    此外:如果我将SQL换一下:将SQL := 'insert into TableA(A) select 2 ; insert into TableB(B) select 1 '; 
    改为:SQL := 'insert into TableB(B) select 1 ; insert into TableA(A) select 2 '; 
    执行时会提示主键重复。请再考虑下