爱问知识人 爱问教育 医院库

Oracle和SQLServer存储调试和出错怎样处理?

首页

Oracle和SQLServer存储调试和出错怎样处理?

Oracle和SQLServer存储调试和出错怎样处理?

提交回答

全部答案

    2017-07-27 17:56:31
  •   首先说调试:
    1。 对于Oracle的调试,可以借助于第三方的工具,比如Pl/SQL Developer,以6。0。5。926版本为例,首先对该Procedure右键处理,添加“add debug information”,然后选择“test”,打开新的测试窗口,在下方对应的输入输出变量处,添加相应的测试数据。
      注意:这里的数据输入,不需要引号,输出参数不需要输入! 然后点击“start debugger”,或者按F9进行测试,可以选择测试的步骤如“step into”等,然后可以在下面的script窗口看到中间变量。 2。 对于SQLServer调试,在没有找到较好的第三方工具的情况下,目前采用的是将中间的变量值或者SQL语句插入到另一个表中,或者直接print出来的方式。
      第一种需要借助 exec('') 方法,注意里面的取变量值的写法,可参考下面的例子: exec('update SupplyplanLack set Completedate = GetDate() from supplyPlanLack a where '+ @ssTmp +' and '+@iCompleteQty+' >= (select s。
      RequestQty * a。RationQty as ReqQty from Balance a, SupplyPlan s where a。Vehicle = s。Vehicle and a。Part=s。Part and a。SupplyPlanNo = s。
      SupplyPlanNo and '+ @ssTmp +')') 在print中,需要注意类型的转换,一般是借用 convert(varchar(11),@spNOTo) 方法来实现,否则会提示类型转换错误。 3。 错误处理上,对于SQLServer可以采用开始自定义变量,然后根据不同判断,改变该值再推出的方法来处理,见下例: set @exec_num=0 if (@spNOFrom=0 or @spNOTo=0 or @reuseUser=NULL) begin set @exec_num=1 goto the_end end the_end: return 或者是这种: set nocount on if (@property is null) or (@property = '') begin raiserror('Must specify a property name。
      ',-1,-1) return (1) end 或者是对该错误全局变量 @@error 数值的判断上。

    y***

    2017-07-27 17:56:31

类似问题

换一换

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):