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 IC94295 Status: Closed

CREATE FUNCTION, PROCEDURE OR TRIGGER MIGHT RETURN SQL0153N IF A CURSOR
REFERENCES A COMMON TABLE EXPRESSION

product:
DB2 FOR LUW / DB2FORLUW / 970 - DB2
Problem description:
The error SQL0153N "The statement does not include a required 
column list" might be reported if all the following 
conditions are met: 
1. create compiled object DDL (function, procedure or trigger) 
2. cursor is explicitly or implicitly declared 
3. cursor references a CTE (common table expression) 
 
 CREATE OR REPLACE FUNCTION   f2 
           RETURN number AS 
        BEGIN 
           FOR I IN (WITH TBL1 AS 
                          (SELECT c2 
                             FROM prof.t2) 
                     SELECT   c2 
                         FROM tbl1 
        ) 
           LOOP 
           END LOOP;-- 
 
           RETURN 1;-- 
        END ;
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* DB2 LUW v97                                                  * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* See Error Description                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to DB2 LUW version 9.7 fix pack 9                    * 
****************************************************************
Local Fix:
REPLACE CTE (COMMON TABLE EXPRESSION ) WITH SUBSELECT 
------------------------------------------------------ 
 CREATE OR REPLACE FUNCTION   F2 
           RETURN NUMBER AS 
        BEGIN 
           FOR I IN (WITH TBL1 AS 
                          (SELECT C2 
                             FROM PROF.T2) 
                     SELECT   C2 
                         FROM TBL1 
        ) 
           LOOP 
           END LOOP;-- 
 
           RETURN 1;-- 
        END ; 
--------------------------------- 
WOULD BE REPLACED WITH : 
---------------------------------- 
 
 CREATE OR REPLACE FUNCTION   F2 
           RETURN NUMBER AS 
        BEGIN 
           FOR I IN ( SELECT C2 FROM PROF.T2 ) 
           LOOP 
           END LOOP;-- 
 
           RETURN 1;-- 
        END ;
available fix packs:
DB2 Version 9.7 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 10 for Linux, UNIX, and Windows

Solution
Fix in DB2 version 9.7 fix pack 9, creation of trigger, routine 
is successful
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
22.07.2013
16.12.2013
16.12.2013
Problem solved at the following versions (IBM BugInfos)
9.7.FP9,
9.7.FP9
Problem solved according to the fixlist(s) of the following version(s)
9.7.0.9 FixList
9.7.0.9 FixList