Code:
CREATE FUNCTION DB2USER.GETPLACEHOLDER( MSG_TEMPLATE VARGRAPHIC(1000) )
RETURNS TABLE
( IDCOL INTEGER,
COLNAME VARCHAR(1000)
)
SPECIFIC DB2USER.GETPLACEHOLDER
------------------------------------------------------------------------
-- SQL UDF (Table)
------------------------------------------------------------------------
F1: BEGIN ATOMIC
--DECLARE NEWS_TEMPLATE VARCHAR(100);
CREATE TABLE TEMP_TABLE
(
IDCOL INTEGER
NOT NULL
GENERATED ALWAYS AS IDENTITY
(
START WITH +1
INCREMENT BY +1
MINVALUE +1
MAXVALUE +100
NO CYCLE
NO CACHE
),
COLNAME VARCHAR(1000)
);
WHILE (LOCATE('$',MSG_TEMPLATE) != 0)
DO
--logic statements
END WHILE;
RETURN SELECT IDCOL, COLNAME FROM TEMP_TABLE;
DELETE TABLE TEMP_TABLE;
END F1
I have written the following UDF but it is giving me the following error...
DB2USER.GETPLACEHOLDER: 14: [IBM][CLI Driver][DB2/LINUX] SQL0104N An unexpected token "TEMP_TABLE" was found following " CREATE TABLE". Expected tokens may include: "<space>". LINE NUMBER=14. SQLSTATE=42601
can i not create a table in UDF???