Sorry for my bad english, I am french speaking
...
I have been tasked to write a UDF in order to return the maximum value
of an integer column in a given table and increment it by 1.
I have no experience of UDF so I have tried this :
CREATE FUNCTION S123456T ()
RETURNS INTEGER
NO EXTERNAL ACTION
LANGUAGE SQL
BEGIN
DECLARE SEQNO INTEGER;
SELECT MAX(ID) FROM CTIR006.TSTIDNTY INTO SEQNO
RETURN SEQNO
END
;
and I get the following SQL error
CREATE FUNCTION S123456T ()
RETURNS INTEGER
NO EXTERNAL ACTION
LANGUAGE SQL
BEGIN
DECLARE SEQNO INTEGER;
---------+---------+---------+---------+---------+---------+---------+------
DSNT408I SQLCODE = -199, ERROR: ILLEGAL USE OF KEYWORD DECLARE, TOKEN
ON
<INTEGER> WAS EXPECTED
DSNT418I SQLSTATE = 42601 SQLSTATE RETURN CODE
DSNT415I SQLERRP = DSNHPARS SQL PROCEDURE DETECTING ERROR
DSNT416I SQLERRD = 0 0 0 -1 367 0 SQL DIAGNOSTIC INFORMATION
DSNT416I SQLERRD = X'00000000' X'00000000' X'00000000'
X'FFFFFFFF'
X'0000016F' X'00000000' SQL DIAGNOSTIC INFORMATION
How should I write the body to correct this ? Could someone help me ?
Thanks in advance.
PDN