答案 0 :(得分:3)
您使用的语法:BEGIN label COMMAND ..... END label
错误。
请参阅PL/SQL block
的文档plsql_block :: = [<<标签>> ] [DECLARE declare_section]正文
PL / SQL块可以以可选的标签名称开头,该名称必须由双<< 和>> 包围,然后选择声明部分,然后是强制正文部分。
body :: = BEGIN声明; [声明; ....] [EXCEPTION exception_handler] END [name];
反过来,body部分必须包含 BEGIN 语句,然后是一个或多个语句(最后一个是强制性的),然后是可选的异常块,然后必须 END 语句,然后是可选的名称(标签),没有任何<<或者>>,然后是强制性的分号;
所以你的代码(如果你想使用标签/名称)必须如下所示:
<<a>> BEGIN
commit;
END a;
/
<<b>>
BEGIN
commit;
END b;
/