DB2 - Problembeschreibung
Problem IC67297 | Status: Geschlossen |
ROLLBACK IS NOT ALLOWED TO ROLLBACK BEYOND BEGINNING OF ANONYMOUS BLOCK | |
Produkt: | |
DB2 FOR LUW / DB2FORLUW / 980 - DB2 | |
Problembeschreibung: | |
While executing a PL/SQL anonymous block (or SQL PL compiled compound statement), you will obtain error SQL0751N in the following situations: - The anonymous block contains a ROLLBACK statement. - The anonymous block invokes a routine that causes a ROLLBACK statement to be executed. For example: begin rollback; end; / DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned: SQL0751N Routine "SYSIBMINTERNAL.COMPILED_ANON_BLOCK_INVOKE" (specific name "SQL100310140808540") attempted to execute a statement that is not allowed. create or replace procedure P is begin rollback; end; / begin p; end; / DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned: SQL0751N Routine "MYSCHEMA.P" (specific name "P") attempted to execute a statement that is not allowed. This behaviour is a known limitation in DB2 Version 9.7. | |
Problem-Zusammenfassung: | |
**************************************************************** * USERS AFFECTED: * * ALL * **************************************************************** * PROBLEM DESCRIPTION: * * While executing a PL/SQL anonymous block (or SQL PL * * compiledcompound statement), you will obtain error SQL0751N * * in thefollowing situations:- The anonymous block contains a * * ROLLBACK statement.- The anonymous block invokes a routine * * that causes aROLLBACKstatement to be executed.For * * example:beginrollback;end;/DB21034E The command was * * processed as an SQL statementbecauseit was not avalid * * Command Line Processor command. During SQL * * processingitreturned:SQL0751N * * Routine"SYSIBMINTERNAL.COMPILED_ANON_BLOCK_INVOKE"(specific * * name"SQL100310140808540") attempted to execute a statement * * thatisnot allowed.create or replace procedure * * Pisbeginrollback;end;/beginp;end;/DB21034E The command was * * processed as an SQL statementbecauseit was not avalid * * Command Line Processor command. During SQL * * processingitreturned:SQL0751N Routine "MYSCHEMA.P" * * (specific name "P") attemptedtoexecute astatement that is * * not allowed. * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 UDB version 9.8 fix pack 3. * **************************************************************** | |
Local-Fix: | |
Convert the anonymous block to a stored procedure, and invoke the procedure using CALL. For example: create or replace procedure Q is begin p; end; / call Q; drop procedure Q; | |
verfügbare FixPacks: | |
DB2 Version 9.8 Fix Pack 3 for Linux, UNIX, and Windows | |
Lösung | |
Problem was first fixed in DB2 UDB Version 9.8 Fix Pack 3. | |
Workaround | |
keiner bekannt / siehe Local-Fix | |
Weitere Daten | |
Datum - Problem gemeldet : Datum - Problem geschlossen : Datum - der letzten Änderung: | 17.03.2010 08.11.2012 08.11.2012 |
Problem behoben ab folgender Versionen (IBM BugInfos) | |
9.8.FP3 | |
Problem behoben lt. FixList in der Version | |
9.8.0.3 |