学院首页 软件应用 编程开发 创意设计 认证培训 软件论坛
ASP ASP.NET PHP JSP SQL MYSQL Java VB

您的位置:学院 >> 编程开发 >> Oracle >> 关于Oracle和SQL存储调试和出错处理


关于Oracle和SQL存储调试和出错处理


在大型数据库中,因为开发的需要,经常需要调用Procedure。在Oracle和SQLServer上开发Procedure因为语法不同,而有所区别;调试Procedure,在两个系统上都不太容易,尤其是进行错误处理时更是如此。

调试:

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 数值的判断上。

技术文章快速查找

栏目导航
软件应用
·操作系统 ·杀毒防黑 ·应用软件
·聊天软件 ·网络软件  
Web开发
·ASP ·JavaScript ·CGI
·JSP ·VbScript ·Web服务器
·PHP ·XML  
开发语言
·VB ·VC ·ASP.NET
·Java ·C/C++ ·Delphi
数据库开发
·MySQL ·SQL/Access ·PowerBuilder
·Oracle ·DB2  
网站设计
·Flash ·Dreamweaver ·HTML/CSS
·Fireworks ·FrontPage  
平面设计
·Photoshop ·CorelDraw ·AutoCAD
·FreeHand ·Illustrator ·3DsMAX
媒体动画
·Director ·Authorware ·Maya
·视频处理    


相关软件 产品库推荐
·笔记本 ·台式机 ·服务器
·数码相机 ·手机 ·GPS
·DV摄像机 ·MP3 ·MP4
·CPU ·硬盘 ·内存
·主板 ·显卡 ·显示器
·打印机 ·投影机 ·路由器

还没人留言,抢个先,哈哈!
对"关于Oracle和SQL存储调试和出错处理"的评论 - 快速回贴
内容:
  [完成后可按Ctrl+Enter发布]

百度中 关于Oracle和SQL存储调试和出错处理 相关内容
Google搜索中 关于Oracle和SQL存储调试和出错处理 相关内容
雅虎中 关于Oracle和SQL存储调试和出错处理 相关内容
Sogou搜索中 关于Oracle和SQL存储调试和出错处理 相关内容

相关软件 最新回复帖子:

·Windows Vista 中卸载软件的不同方式
·没有mysql支持时的替代方案
·一个可以发送附件及HTML格式邮件的PHP类
·AutoCAD打造精致三维鸟笼实例详解
·Photoshop自定义水晶字特效样式
·AutoCAD三维基础实例教程
·PS为黑背景长发美女照片抠图换背
·用Photoshop自制个性摩托车贴花小经验
·轻松几步将美女照片处理为手工素描
·巧用Photoshop画笔轻松绘制创意特效


  相关软件 关于Oracle和SQL存储调试和出错处理相关文章
Oracle数据库中临时表的深入研究 Oracle快速删除数据字典管理的表空间
借助Oracle存储过程实现定期分割表 Oracle归档模式的命令及参数说明
Oracle Spatial数据加密问题的研究 一个容易忽视的Oracle数据安全问题
从Oracle到SQL Server-SQL智能翻译器 Oracle数据库异地自动备份方法介绍
高手的Oracle大批量删除数据的方法 如何保持Oracle数据库的优良性能
通过OMS来实现Oracle数据备份的方法 Oracle SQL性能优化系列介绍(下)
Oracle SQL性能优化系列介绍(上) Oracle Job任务异常原因分析及其解决
Oracle数据库中分区表的操作方法详解 用SQL*Loader将Excel数据导出到Oracle
MYSQL,Oracle,SQL数据库在JSP中的驱动 不安装ORACLE客户端的系统移植方法
SQL Server 和 Oracle 常用函数对比 Oracle中捕获问题SQL解决CPU过渡消耗