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;
将会看到编译提示,而且会定位到某一行。
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;
将会看到编译提示,而且会定位到某一行。