如何调试oracle 如何调试oracle函数

oracle10g的存储过程大概怎么调试PL/SQL中为我们提供了【调试存储过程】的功能,可以帮助你完成存储过程的预编译与测试 。
点击要调试的存储过程,右键选择TEST
如果需要查看变量,当然调试都需要 。在右键菜单中选择Add
debug
information.
start
debugger(F9)开始我们的测试,Run(Ctrl R)
随时在varible
List中输入我们想查看的变量
其它:
Step
into(Ctrl N):单步调试,进入下一步
Step
over(Ctrl O):结束该语句
Step
out(Ctrl T):跳出该过程
Run
to
next
exception:进入下一个断点Breakpoint
Toggle
Breakpoint设置断点:光标指向一行,Ctrl B;或鼠标点中该行的行号边缘
======================================
1.在要调试的过程上单击
test
,如下图所示:
2.出现如下界面时单击最左上方的按钮 , 如下图所示:
3.单击后呈现如下画面:
其中:表示要停止test;表示要全部运行完这个过程 。单击它后你就不能单步调试了 。
单步调试 。单击它后可以像在exlipse或者visal
stidio里面一样对程序进行单步调试了 。
4.单击“单步调试”按钮 。出现如下画面:
这个时候表示你进入了调试状态,你可以单击上面说的任何按钮来控制程序,如下:
表示要停止test,不再调试了;表示要全部运行完这个过程,不再进行单步调试了 。
单步调试,表示要一步一步的调试这个程序要想单步调试这个程序 , 只需要你用鼠标左键连续单击这个按钮即可 。
5.断点的使用 。
可以使用断点,方法是在文本区域最左侧的边框进行左键单击,如下:
这个时候单击:这个按钮 , 就可以直接运行到这个位置了,示意图如下:
这个时候再单击 , 进行一步步的调试 。
注意:当你忘记了设置断点 , 而进入一个非常大的循环时 , 没有关系 , 你可以打开这个过程在相应处设置断点,然后单击就可以了 。步骤如下:
a.忘了设断点了,但是我进入了非常大的循环单步调试很难退出时:这个时候需要打开这个过程 , 如下:
b.你需要设置断点的地方左键单击即可,如下图:
c.单击就直接运行到你设置的这个断点的地方了 。
5.对监控窗口的使用:
这个窗口可以把你要监视的变量进行显示,你把你需要监视的变量复制到这个窗口就可以了 。这个窗口在调试界面的最下方,如下示:
这个sql_str
就是要被监视的对象 。
6.继续单步调试:可以看到,这个变量被赋值了 。如下图所示:
把它复制出来,在新建的slq
window里运行,就可以看到执行结果了 。如下图所示:
7.分析每一步的执行结果 。
8.继续单步运行 , 继续分析,直到知道为什么没有产生想要的结果为止 。
oracle 函数调试怎么使用oracle
函数调试怎么使用
看你的编译器啊 。
编译器上面也有按钮,可以选择进入函数内部调试,或者是直接处理完成的 。或者更简单的就是 , 在函数内部也设置断点就好了 。
如何运行和调试Oracle存储过程1.
编写Oracle存储过程脚步如下:CREATE
OR
REPLACE
PROCEDURE
P_AUTO_CREATE_PARTITION
(Result
Out
int,
LogErrDesc
Out
varchar2
)
is
type
TypeTable
is
table
of
varchar2(20);
CreatePartitionErr
exception;
days
TypeTable;
BEGIN
Result
:=
0;
SELECT
DATETIME
bulk
collect
into
days
FROM
(
SELECT
TO_CHAR(TRUNC(SYSDATE-2,'dd'),'YYYYMMDD')
AS
DATETIME
FROM
DUAL
【如何调试oracle 如何调试oracle函数】UNION
SELECT
TO_CHAR(TRUNC(SYSDATE-1,'dd'),'YYYYMMDD')
AS
DATETIME
FROM
DUAL
UNION
SELECT
TO_CHAR(TRUNC(SYSDATE,'dd'),'YYYYMMDD')
AS
DATETIME
FROM
DUAL
UNION
SELECT
TO_CHAR(TRUNC(SYSDATE 1,'dd'),'YYYYMMDD')
AS
DATETIME
FROM
DUAL
UNION
SELECT
TO_CHAR(TRUNC(SYSDATE 2,'dd'),'YYYYMMDD')
AS
DATETIME
FROM
DUAL
);
for
i
in
1..days.count
loop
if
bruce_partiton.CreatePartitions('T_CDT_1X_BASIC_Partion',days(i))0
then
raise
CreatePartitionErr;
end
if;
end
loop;
--名字写错了bruce_partiton , 应该为bruce_partition
commit;
--异常处理
EXCEPTION
WHEN
CreatePartitionErr
THEN
rollback;
Result
:=
-1;
LogErrDesc
:=
SQLERRM;
commit;
RETURN;
WHEN
OTHERS
THEN
rollback;
Result
:=
-2;
LogErrDesc
:=
'CDM_CTCALLTRACEINFO_PRC_NEW
Fail!'||substr(dbms_utility.format_error_stack,1,200);
commit;
RETURN;
END
P_AUTO_CREATE_PARTITION;
/
2.
调试
在PL/SQL中选择存储过程,右键TEST,
ADD
DEBUGINFO,3.
运行,在Program
Window中
Oracle 触发器调试及遇到相关问题解决今天在项目中遇到一个比较棘手的问题,需要用到触发器 。在编写触发器和调试过程中遇到下列问题,在此记录一下:
由于之前写的触发器都能正常运行 , 就没有涉及到触发器的调试,今天发现触发器没起作用 , 需要调试,竟不知道在哪儿调试 。在网上借鉴一些别人的经验(),记录一下 。在PL/SQL中,触发器的调试方法如下:
1 , 选中要调试的触发器,右击 , 然后勾选 Add debug information,只有勾选这个按钮后,调试才能进入到断点 。
2,选中触发器,点击 Edit,到Edit 界面,在要调试的行号前面单击 , 或者右键,添加断点 。
3,在菜单的新建中选择“测试窗口” , 打开一个如下块,在begin和end中间添加能触发触发器的语句
4 , 按F9或者点击调试菜单中的开始菜单,进入运行调试状态(后面的红框是单步进入)
5 , 点击运行图标跳到触发器中断点位置
6,鼠标放到变量上可以显示变量值 。
7 , 如果有异常,就弹出相关异常信息 。
调试的时候发现new对象的日期格式为中文,而后面又需要yyyy-mm-dd 的格式来作为查询条件 。所以就在赋值的时候转换一下 。
在select into 给变量赋值的时候 , select 查询出来的集合为空,导致报错ORA-01403,解决方案就是将这一段用begin end 包裹起来 , 抛出改异常的时候给变量一个默认值 。如下图:
oracle的存储过程怎么调试方法/步骤
首先在PL/SQL的左侧资源栏中展开Procedures项(图中位置1),然后再其上面的搜索框中(图中位置2)输入存过名称的关键词,按回车键搜索要调试的存过 , 不停的回车,直到找到想要调试的存过 。
找到想要调试的存过,左键单击选中该存过(图中位置1),然后右键单击该存过,从弹出菜单中选择“Test”项(图中位置2) 。
单击“Test”后,PL\SQL会打开调试界面 , 图中位置1的按钮就是开始调试的按钮,在调试之前要填写存过的参数,位置2就是填写参数的地方,如果有多个参数,会有多行参数框,按参数名填写相应的参数即可 。
填写完参数,单击开始调试按钮后 , 调试的界面会发生一些变化 。图中位置1的变化 , 说明存过已经处于执行状态,别人不能再编译或者执行 。位置2的按钮就是执行按钮,单击这个按钮存过会执行完成或者遇到bug跳出 , 否则是不会停下来的,调试时不会用这个按钮的 。位置3的按钮才是关键——单步执行,就是让代码一行一行的执行,位置4的按钮是跳出单步执行,等待下一个指令 。
单击“单步执行” , 存过开始单步执行 。界面中每一次执行的代码会高亮显示(图中位置1),如果想要看某个变量具体的值,就在位置2的地方输入该变量名,然后变量的值会显示在位置3的地方 。
调试的时候,每一次单步执行的时候要记一下执行代码的行数,图中位置3的数字就是当前执行代码的行数,就是第几行 。如果过程单步执行到某行后,再单步执行的时候 , 存过就退出,那么错误就在该行的下一行 。
代码执行到24行,在往下执行时,直接转到exception的地方,也就是异常处理的部分 。
这说明我们代码中的错误在24和25行上,我们打开存过 , 浏览到24行和25行附近,发现25行和24行使用了两个变量 , 记住那两个变量 。重新开始调试过程 。
单步的执行时候把刚才那两个变量名填写到变量查看框,一边观察变量值变化,一边单步执行,执行到24行的时候,发现一个变量已经有值了,而另一个变量的值为null 。错误原因明朗了吧?就是变量没有赋值或者初始话,给该变量赋值后存过就不报错了 。
oracle plsql怎么调试存储过程1、首先是编写存储过程如何调试oracle , 编译无误;
2、添加debug信息 。为了能够单步跟踪存储过程如何调试oracle,需要为其所在的包添加debug信息,右键点击需要调试的存储过程名称,在弹出菜单中选中[add debug information],这样就为包体添加了调试信息;
3、选择需要调试的存储过程名称,点击右键,在弹出菜单中 选择[Test],进去测试窗口,测试窗口中有为了测试该存储过程自动所产生的代码,当然你也可以自己另外加入和修改代码,自动生成的代码已经足够了 。
如何调试oracle的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于如何调试oracle函数、如何调试oracle的信息别忘了在本站进行查找喔 。

    推荐阅读