A不存在会报语法错误啊。你是动态的吗?有RAISERROR (50005, 16, 1, @@JOB_ID, @@MIN_LVL, @@MAX_LVL)

解决方案 »

  1.   

    例如,如果访问的表不存在:
    SELECT * FROM bogus
    发送到客户端的错误信息类似下面所示:
    服务器:错误信息 208,级别 16,状态 1
    对象名 'bogus' 无效。
      

  2.   

    一般处理情况:
    在你执行update或者insert或者delete之前开trans
    然后执行你需要的语句,然后判断error_no是否为0,如果不是的话就回滚,如果是的话就说明执行成功。select一样的道理,不需要开trans
    error_no和error_info可以拦截并做成output
      

  3.   

    select @cnt=count(*) from A
    if  @@error<>0
    begin
      set @strMsg='数据库系统错误!更新客户表错误数据失败!'
      goto doError
    end 
      

  4.   

    能不能把查询分析器输出的报错信息放到自己定义的字符串中?这样通过OUTPUT输出后分析问题比较容易。
      

  5.   

    能不能把查询分析器输出的报错信息放到自己定义的字符串中?这样通过OUTPUT输出后分析问题比较容易。