home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Latest versionsfixlist
11.1.0.7 FixList
10.5.0.9 FixList
10.1.0.6 FixList
9.8.0.5 FixList
9.7.0.11 FixList
9.5.0.10 FixList
9.1.0.12 FixList
Have problems? - contact us.
Register for free anmeldung-x26
Contact form kontakt-x26

DB2 - Problem description

Problem IC63220 Status: Closed

SQL0104N WHILE COMPILING WITHOUT RETURN CURSOR DECLARATION CONTAINING
A VARIABLE

product:
DB2 FOR LUW / DB2FORLUW / 970 - DB2
Problem description:
While compiling a DECLARE CURSOR statement containing a 
variable or parameter, you may encounter an unexpected 
SQL0104N error from the SQL compiler if the statement 
contains an explicit WITHOUT RETURN clause.  For example: 
 
create table T(C1 integer, C2 integer) 
 
create procedure test 
begin 
  declare N1 integer default 42; 
 
  declare CUR1 cursor without return for 
    select C2 from T where C1 = N1; 
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: 
SQL0104N  An unexpected token "=" was found following "t 
C2 from T where C1".  Expected tokens may include: 
"<interval_qualifier>".  LINE NUMBER=5.  SQLSTATE=42601
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* NONE                                                         * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* While compiling a DECLARE CURSOR statement containing a      * 
*                                                              * 
* variable or parameter, you may encounter an unexpected       * 
*                                                              * 
* SQL0104N error from the SQL compiler if the statement        * 
*                                                              * 
* contains an explicit WITHOUT RETURN clause.  For example:    * 
*                                                              * 
*                                                              * 
*                                                              * 
* create table T(C1 integer, C2 integer)                       * 
*                                                              * 
*                                                              * 
*                                                              * 
* create procedure test                                        * 
*                                                              * 
* begin                                                        * 
*                                                              * 
*   declare N1 integer default 42;                             * 
*                                                              * 
*                                                              * 
*                                                              * 
*   declare CUR1 cursor without return for                     * 
*                                                              * 
*     select C2 from T where C1 = N1;                          * 
*                                                              * 
* 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:                           * 
*                                                              * 
* SQL0104N  An unexpected token "=" was found following "t     * 
*                                                              * 
* C2 from T where C1".  Expected tokens may include:           * 
*                                                              * 
* "<interval_qualifier>".  LINE NUMBER=5.  SQLSTATE=42601      * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to DB2 Version 9.7, Fix Pack 1.                      * 
****************************************************************
Local Fix:
Remove 'WITHOUT RETURN' from the DECLARE CURSOR statement 
and recompile. Since WITHOUT RETURN is implicitly assumed 
if WITH RETURN is not present, this modification will not 
cause a change of behaviour.
available fix packs:
DB2 Version 9.7 Fix Pack 1 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 2 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 3 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 3a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 4 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 5 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 7 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 6 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 8 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 10 for Linux, UNIX, and Windows

Solution
Fix delivered in DB2 Version 9.7, Fix Pack 1.
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
16.09.2009
17.02.2010
17.02.2010
Problem solved at the following versions (IBM BugInfos)
9.7.FP1
Problem solved according to the fixlist(s) of the following version(s)
9.7.0.1 FixList