DB2 - Problem description
| Problem IC99510 | Status: Closed |
DB2 MIGHT PRODUCE SQL0551N WHEN CREATING A COMPILED ROUTINE OR TRIGGER REFERENCING DGTT | |
| product: | |
DB2 FOR LUW / DB2FORLUW / A50 - DB2 | |
| Problem description: | |
Under rare scenarios, DB2 might produce SQL0551N error message
when all the of conditions below are true:
1) The command being executed is during creation of function,
procedure or trigger
2) The body of this object contains a CTE referencing a declared
global temporary table (DGTT)
3) The command was executed by a user with non-dbadm privileges
Example:
DECLARE GLOBAL TEMPORARY TABLE SESSION.DGTT1
(
c1 int,
c2 int
) WITH REPLACE ON COMMIT PRESERVE ROWS NOT LOGGED IN userspace;
CREATE or replace PROCEDURE proc1()
LANGUAGE SQL
MODIFIES SQL DATA
DYNAMIC RESULT SETS 1
BEGIN
-- Local Variables Declaration
DECLARE CUR CURSOR WITH RETURN TO CALLER
FOR
WITH CTE AS
(
SELECT
c1,
c2
FROM SESSION.DGTT1
where c1 > 10
)
SELECT *
FROM CTE
WITH UR;
......
END | |
| Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * ALL * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 Version 10.5 Fix Pack 4 * **************************************************************** | |
| Local Fix: | |
Workaround: 1) Execute the command as dbadm
2) Modify the procedure text to inline the
CTE | |
| available fix packs: | |
DB2 Cancun Release 10.5.0.4 (also known as Fix Pack 4) for Linux, UNIX, and Windows | |
| Solution | |
First fixed in DB2 10.5Fix Pack 4 | |
| Workaround | |
not known / see Local fix | |
| Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 20.02.2014 09.02.2015 09.02.2015 |
| Problem solved at the following versions (IBM BugInfos) | |
| Problem solved according to the fixlist(s) of the following version(s) | |
| 10.5.0.4 |
|