Troubleshooting
Problem
When creating a stored procedure which calls a nested stored procedure to create a declared global temporary table (DGTT), SQL0204 (-204) may be returned for the DGTT.
Symptom
Creating the stored procedure DB2INST1.USE_DGTT returns SQL0204 for the DGTT SESSION.TEMP_TABLE.
CREATE PROCEDURE DB2INST1.CREATE_DGTT()
DYNAMIC RESULT SETS 1
NOT DETERMINISTIC
LANGUAGE SQL
BEGIN
-- Create DGTT
DECLARE GLOBAL TEMPORARY TABLE session.temp_table
(
C1 INTEGER
)
ON COMMIT PRESERVE ROWS
WITH REPLACE
NOT LOGGED;
END
DB20000I The SQL command completed successfully.
CREATE PROCEDURE DB2INST1.USE_DGTT
(
IN P_NUM INTEGER
)
DYNAMIC RESULT SETS 1
NOT DETERMINISTIC
LANGUAGE SQL
BEGIN
-- creates the DGTT
CALL DB2INST1.CREATE_DGTT();
INSERT INTO session.temp_table (C1) VALUES(P_NUM);
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: SQL0204N "SESSION.TEMP_TABLE" is an undefined name. LINE NUMBER=13.
SQLSTATE=42704
Log InLog in to view more of this document
Was this topic helpful?
Document Information
Modified date:
30 April 2025
UID
swg21681365