如果未明确声明TCL语句是否属于隐式游标? link。或者COMMIT
是PL / SQL语句吗?
数据库打开SQL(隐式)游标,以处理与显式游标无关的每个SQL语句。
set serveroutput on
DECLARE
row_var test%rowtype;
BEGIN
savepoint a;
execute immediate 'delete from test';
DBMS_OUTPUT.PUT_LINE ('No. of deleted '||sql%rowcount);
if (sql%rowcount=0) then
DBMS_OUTPUT.PUT_LINE ('CP1:');
end if;
/*Select * into row_var from test;
DBMS_OUTPUT.PUT_LINE ('No. of after delete '||row_var.testcol);*/
commit; //TCL statment
END;
Select * from test
答案 0 :(得分:0)
COMMIT是SQL语言的一部分。 SQL Doc
“使用COMMIT语句结束当前事务,并在事务中执行永久性所有更改。事务是Oracle数据库视为单个单元的一系列SQL语句。此语句还会擦除事务中的所有保存点,释放事务锁。“
可以在PL / SQL块中作为静态SQL语句调用。 PL/SQL Doc
“COMMIT语句永久性地对当前事务期间对数据库所做的任何更改。提交还使更改对其他用户可见...... SQL COMMIT语句可以作为静态SQL嵌入到PL / SQL中。”