背景描述:
SQL SERVER2008访问SQL SERVER2000(SP在2008上运行),
连续进行两部操作:
1,DELETE 2000上的表A
2,把2008上的表B数据插入表A中
问题:
当造的数据对于表A是主键冲突时,catch并没有按照自定义内容输出error信息,而是报系统错误(主键重复相关的错误信息),
我希望报自定义的错误信息。
说明:表B和表A结构一致,但表B没有主键代码如下:
BEGIN  BEGIN TRY  BEGIN TRANSACTION  DELETE FROM sql2000srv.master.dbo.A  INSERT INTO sql2000srv.master.dbo.A (
    id
    ,name
   )
  SELECT
    id
    ,name
  FROM sql2008srv.master.dbo.B      COMMIT TRANSACTION  print 'okokokokokokokokokokokokokokokokok'  END TRY  BEGIN CATCH  ROLLBACK TRANSACTION  print 'error error error error error error error error error ' --很遗憾,没有输出  END CATCHEND