Oracle的PL/SQL编译问题

本文介绍如何通过设置plsql_warnings参数来在Oracle10g中启用编译时警告,包括检查可能的问题、性能瓶颈、死代码等,并提供示例说明如何识别并定位死代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Oracle10g在默认情况下编译 pl/sql代码不做任何提示,默认情况下plsql_warnings='disable:all',所以不做任何编译上的提示。因此通过设置plsql_warnings参数,可以在编译plsql代码的时候进行相应的提示。其中plsql_warings的参数取值如下:
1、server:表示检查可能出现不可预料的结果
2、performance:表示可能会遇到的性能问题,如:类型转换
3、informational:表示可能是死代码
4、all:表示检查所有警告
参数更改可以有如下两种方式进行更改:
1、alter session set plsql_warnings='enable:server';
2、alter system set plsql_warnings='enable:informational';
以存储dead_code存储过程为例,改存储过程代码如下:
create or replace dead_code is
x number :=10;
begin
if x = 10 then
x:=20;
else
x := 100;
end if;
end;
其中x:=100将永远不会执行,称为死代码。当采用下面编译方式的时候,在编译阶段将会有提示:
1、alter session set plsql_warnings='enable:informational';
2、alter procedure dead_code complie;
将会看到编译提示,而且会定位到某一行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值