oracle如何调试存过 oracle怎么调试

如何调试oracle存储过程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;或鼠标点中该行的行号边缘
oracle 怎么调用存储过程ORACLE存储过程 以oracle自带例子数据库的表举例
1、
create or replace procedure p
is
cursor c is
select * from emp2 for update;
begin
for v_emp in c loop
if(v_emp.sal 2000) then
update emp2set sal =sal 1 where current of c ;
elsif(v_emp.sal=2000) then
delete from emp2 where current of c;
end if;
end loop;
commit;
end;
创建了存储过程不代表运行了存储过程;
运行此存储过程 :
方式一 exec p;
方式二
begin
p;
end;
2、带参数的存储过程
in相当于程序里的参数,供传入用,在存储过程不能改变其值;
out 相当于程序里的返回值,在存储过程中可以为其赋值传出;
in out 既可以当参数又可以当返回值用;
不带上述说明符默认为in类型;
下例中v_a v_b 为in类型
v_c为out类型
v_d为in out 类型
create or replace procedurep(v_a in number,v_b number,v_c out number,v_d in out number)
is
begin
if(v_av_b) then
v_c := v_a;
else
v_c := v_b;
end if;
v_d := v_d 1;
end;
--- 调试时:
可以在命令窗口调试,出错时 用show errors 显示出错信息;
可以在plDv中调试;
--- 运行时:
可以在命令窗口运行:
declare
v_a number:=3;
v_b number:=4;
v_c number;
v_d number:=5;
begin
p(v_a,v_b,v_c,v_d);
dbms_output.put_line(v_c);
dbms_output.put_line(v_d);
end;
可以在plDv中调试;
如何运行和调试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
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_partitonoracle如何调试存过,应该为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中选择存储过程oracle如何调试存过,右键TEST,
ADD
DEBUGINFO,3.
运行,在Program
Window中
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 中用什么命令执行一个带参数的存储过程具体如下:
1、第一步,创建一个新的存储过程,见下图,转到下面的步骤 。
2、第二步,完成上述步骤后,修改存储过程 。
此存储过程具有一个输入参数(pid)和一个输出参数,即通过用户id查询用户名并返回名称,见下图 , 转到下面的步骤 。
3、第三步,完成上述步骤后 , 调试存储过程,找到新创建的存储过程,右键单击[test]按钮,见下图,转到下面的步骤 。
4、第四步,完成上述步骤后,修改id值,然后单击左上角的“倒三角”按钮以开始调试,见下图,转到下面的步骤 。
5、第五步,完成上述步骤后,按[CTRL
N]进行单步调试,按[CTRLO]单步调试,按[CTRLT]退出调试,或者单击调试工具进行调试,见下图,转到下面的步骤 。
6、第六步,完成上述步骤后,可以在窗口底部输入变量名称,以观察变量的变化,见下图,转到下面的步骤 。
7、第七步,完成上述步骤后,可以查看调试结果,见下图 。这样,就解决了这个问题了 。
如何oracle调试存储过程1.打开PL/SQL
Developer
如果在机器上安装了PL/SQL
Developeroracle如何调试存过的话 , 打开PL/SQL
Developer界面
输入用户名,密码和host名字,这个跟在程序中web.config中配置的完全相同,点击确定
找到需要调试的存储过程所在的包(Package
bodies) , 如PACK_ACTIVITY,点击右键,在弹出菜单中选择[查看],得到包中的所有存储过程和他们的代码.
2.添加debug信息
为了能够单步跟踪存储过程,需要为其所在的包添加debug信息,右键点击需要调试的包 , 在弹出菜单中选中[添加调试信息].
这样就为包体添加了调试信息 。
3.调试存储过程
现在所有的准备工作都做好了,可以调试跟踪存储过程了 。
选择需要调试的存储过程,点击右键,在弹出菜单中选择[测试] , 进去测试窗口.
测试窗口中有为了测试该存储过程自动所产生的代码,当然oracle如何调试存过你也可以自己另外加入和修改代码 , 对于我们目前只是为了调试存储过程,自动生成的代码已经足够了 。接着按照如下的步骤进行调试 。
(1)添加存储过程所需要的参数,我们项目中的大多数存储过程都是需要参数的,参数可以在测试窗口右下部分输入 。
如:GetPanNO_New需要一个输入参数v_employeeid,我们输入180 , 输出参数是mycursor,是查看结果的,不需要输入任何值 。
(2)开始调试,点击[调试]菜单-[开始](或者按F9),就进去调试模式了,程序开始停在begin这一行.
(3)以后的调试过程跟我们熟悉的的调试过程就一样了:
运行(Ctrl+R)
单步进入(Ctrl+N)
单步跳过(Ctrl+O)
单步退出(Ctrl+T)
或者点击debug工具条上的按扭:
当按Ctrl+N进去存储过程的源代码中后
在这个窗口中可以查看过程中的变量值和堆栈 。
(4)调试运行完了后,可以查看结果如下(点击mycursor变量旁边的按钮).
【oracle如何调试存过 oracle怎么调试】关于oracle如何调试存过和oracle怎么调试的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读