DB2 - Problem description
Problem IC77781 | Status: Closed |
INCORRECT LINE NUMBER DISPLAYED IN ERROR MESSAGES WHEN ISSUING PL/SQL CREATE TRIGGER STATEMENTS | |
product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problem description: | |
When a PL/SQL CREATE TRIGGER statement is used, the error messages for sqlcode -206 and -628 display incorrect line numbers. The correct line number is displayed if an equivalent SQL PL CREATE TRIGGER statement is used. Please see the scenarios below. ---------------------------------------------------------------- create or replace trigger TRIG001 instead of insert or update or delete on v1 for each row when (2 > 1) declare v0 int := 0; begin v0 := 10; 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: SQL0628N Multiple or conflicting keywords involving the "WHEN" clause are present. LINE NUMBER=2. SQLSTATE=42613 ====> should be line number 4 create or replace trigger TRIG001 before insert or update or delete on t1 for each row when ( updating = TRUE ) declare v0 int := 0; begin v0 := 10; 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: SQL0206N "UPDATING" is not valid in the context where it is used. LINE NUMBER=2. SQLSTATE=42703 ===> should be line number 4 | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * ALL * **************************************************************** * PROBLEM DESCRIPTION: * * When a PL/SQL CREATE TRIGGER statement is used, the error * * * * messages for sqlcode -206 and -628 display incorrect line * * * * numbers. The correct line number is displayed if an * * equivalent * * SQL PL CREATE TRIGGER statement is used. Please see the * * * * scenarios below. * * * * ------------------------------------------------------------ * * ---- * * * * * * create or replace trigger TRIG001 * * * * instead of insert or update or delete on v1 * * * * for each row * * * * when (2 > 1) * * * * declare v0 int := 0; * * * * begin * * * * v0 := 10; * * * * 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: * * * * SQL0628N Multiple or conflicting keywords involving the * * "WHEN" * * clause are * * * * present. LINE NUMBER=2. SQLSTATE=42613 * * * * ====> should be line number 4 * * * * * * * * create or replace trigger TRIG001 * * * * before insert or update or delete on t1 * * * * for each row * * * * when ( updating = TRUE ) * * * * declare v0 int := 0; * * * * begin * * * * v0 := 10; * * * * 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: * * * * SQL0206N "UPDATING" is not valid in the context where it is * * * * used. LINE NUMBER=2. SQLSTATE=42703 * * * * * * * * ===> should be line number 4 * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 Version 9.7 Fix Pack 5. * **************************************************************** | |
Local Fix: | |
available fix packs: | |
DB2 Version 9.7 Fix Pack 5 for Linux, UNIX, and Windows | |
Solution | |
This problem is fixed in DB2 Version 9.7 Fix Pack 5. | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 27.07.2011 07.12.2011 07.12.2011 |
Problem solved at the following versions (IBM BugInfos) | |
9.7.FP5 | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.7.0.5 |