在过程或函数中, is, as没什么区别,现在一般使用is
测试如下:
--is
create or replace procedure sp_is_as_test(
v_ret out number)
is
l_str varchar2(64);
begin
l_str := 'hello, oracle. ';
dbms_output.put_line(l_str);
[@more@]
v_ret := 0;
exception when others then
v_ret := 9;
--raise是当出现异常的时候, oracle抛出这个异常,被主调程序获得
raise;
end;
/
SQL> var ret number
SQL> set serveroutput on
SQL> exec sp_is_as_test(:ret);
hello, oracle.
PL/SQL 过程已成功完成。
--as
create or replace procedure sp_is_as_test(
v_ret out number)
as
l_str varchar2(64);
begin
l_str := 'hello, oracle. ';
dbms_output.put_line(l_str);
v_ret := 0;
exception when others then
v_ret := 9;
--raise是当出现异常的时候, oracle抛出这个异常,被主调程序获得
raise;
end;
/
SQL> var v_ret number
SQL> exec sp_is_as_test(:v_ret);
hello, oracle.
PL/SQL 过程已成功完成。
另外,int作为number的子集,以后凡是没包含小数的整形就用integer, 包含的就用number