17,082
社区成员
发帖
与我相关
我的任务
分享
SQL> set serveroutput on
SQL> create table test_table_2 (
2 id number(10.0), name varchar2(20));
表已创建。
SQL> select * from test_table_2;
未选定行
SQL> insert into test_table_2 values (1,'a');
已创建 1 行。
SQL> select * from test_table_2;
ID NAME
---------- --------------------
1 a
SQL> create or replace procedure ttest_1
2 is
3 begin
4 dbms_output.put_line('进入ttest_1');
5 insert into test_table_2 values (2,'b');
6 dbms_output.put_line('插入数据ttest_1');
7 commit;
8 dbms_output.put_line('commit 在 ttest_1');
9 end;
10 /
过程已创建。
SQL> exec ttest_1
进入ttest_1
插入数据ttest_1
commit 在 ttest_1
PL/SQL 过程已成功完成。
SQL> select * from test_table_2;
ID NAME
---------- --------------------
1 a
2 b
SQL> truncate table test_table_2;
表被截断。
SQL> select * from test_table_2;
未选定行
SQL> create or replace procedure ttest_2
2 is
3 begin
4 dbms_output.put_line('进入ttest_2');
5 insert into test_table_2 values(5,'m');
6 dbms_output.put_line('插入数据ttest_2');
7 ttest_1;
8 dbms_output.put_line('调用过程ttest_1');
9 commit;
10 dbms_output.put_line('commit 在 ttest_2');
11 end;
12 /
过程已创建。
SQL> exec ttest_2
进入ttest_2
插入数据ttest_2
进入ttest_1
插入数据ttest_1
commit 在 ttest_1
调用过程ttest_1
commit 在 ttest_2
PL/SQL 过程已成功完成。
SQL> select * from test_table_2;
ID NAME
---------- --------------------
5 m
2 b
SQL>