17,377
社区成员
发帖
与我相关
我的任务
分享
SQL> set serveroutput on
SQL>
SQL> declare
2 procedure proc_test is
3 begin
4 dbms_output.put_line('just for test');
5 end;
6 begin
7 proc_test;
8 end;
9 /
just for test
PL/SQL procedure successfully completed
SQL>
---你过程声明都的放在匿名快的声明部分
scott@ORCL> ed
已写入 file afiedt.buf
1 declare
2 procedure proc_test1 is
3 begin
4 dbms_output.put_line('just for test 1');
5 end;
6 procedure proc_test2 is
7 begin
8 dbms_output.put_line('just for test 2');
9 end;
10 begin
11 begin
12 proc_test1;
13 end;
14 begin
15 proc_test2;
16 end;
17 proc_test2;
18* end;
scott@ORCL> /
just for test 1
just for test 2
just for test 2
PL/SQL 过程已成功完成。
declare
procedure proc_test1 is
begin
dbms_output.put_line('just for test 1');
end;
begin
proc_test1;
declare
--proc_test2作用域开始
procedure proc_test2 is
begin
dbms_output.put_line('just for test 2');
end;
begin
proc_test2;
end; --proc_test2作用域结束
proc_test2; --这个已经不在作用域,调用肯定会报错!
end;
declare
procedure proc_test1 is
begin
dbms_output.put_line('just for test 1');
end;
begin
proc_test1;
declare
procedure proc_test2 is
begin
dbms_output.put_line('just for test 2');
end;
begin
proc_test2;
proc_test1;
end;
end;
declare
procedure proc_test1 is
begin
dbms_output.put_line('just for test 1');
end;
begin
proc_test1;
declare
procedure proc_test2 is
begin
dbms_output.put_line('just for test 2');
end;
begin
proc_test2;
end;
proc_test2;
end;
SQL> declare
2 procedure proc_test1 is
3 begin
4 dbms_output.put_line('just for test 1');
5 end;
6 begin
7 proc_test1;
8 declare
9 function proc_test2 return VARCHAR2 is
10 begin
11 proc_test1;
12 return 'just for test 2';
13 end;
14 begin
15 dbms_output.put_line('test3: '||proc_test2);
16 end;
17 end;
18 /
just for test 1
just for test 1
test3: just for test 2
PL/SQL procedure successfully completed.
SQL>
Connected to:
Oracle Database 10g Release 10.1.0.2.0 - Production
SQL> set serveroutput on
SQL> declare
2 procedure proc_test1 is
3 begin
4 dbms_output.put_line('just for test 1');
5 end;
6 begin
7 proc_test1;
8 declare
9 procedure proc_test2 is
10 begin
11 dbms_output.put_line('just for test 2');
12 end;
13 begin
14 proc_test2;
15 end;
16 end;
17 /
just for test 1
just for test 2
PL/SQL procedure successfully completed.
SQL>