从技术上讲,答案是肯定的.您可以执行以下操作:
create or replace function committest return number as
begin
update my_table set col = 'x';
commit;
return 1;
end;
/
declare
number n;
begin
n := committest();
end;
/
Run Code Online (Sandbox Code Playgroud)
但是,您无法执行以下操作:
select committest() from dual;
Run Code Online (Sandbox Code Playgroud)
这将是查询期间的提交,从而导致a
ORA-14552:无法在查询或DML内执行DDL提交或回滚
| 归档时间: |
|
| 查看次数: |
5846 次 |
| 最近记录: |