Quantcast
Channel: dBforums – Everything on Databases, Design, Developers and Administrators
Viewing all articles
Browse latest Browse all 13329

User defined function (UDF) - DB2 z/OS v9.1

$
0
0
Hello,
is there possibility in DB2 for z/OS v9.1 to have UDF with some logic in it - to use IF, WHILE,... statements.

I have this UDF :
CREATE FUNCTION NADJI_PARENT(CHILD INT)
RETURNS INTEGER
NO EXTERNAL ACTION
F1: BEGIN ATOMIC
DECLARE MYPARENT INTEGER;
DECLARE PREVPARENT INTEGER;
DECLARE REDOVI INTEGER;
SET PREVPARENT = CHILD;

SET REDOVI = (SELECT COUNT(*) FROM RIODS.REQUEST_HIERARCHY WHERE CHILD_REQUEST_ID = PREVPARENT);

WHILE REDOVI > 0 DO
SET MYPARENT = (SELECT DISTINCT ROW PARENT_REQUEST_ID FROM RIODS.REQUEST_HIERARCHY WHERE CHILD_REQUEST_ID = PREVPARENT FETCH FIRST 1 ROWS ONLY);
SET REDOVI = (SELECT COUNT(*) FROM RIODS.REQUEST_HIERARCHY WHERE CHILD_REQUEST_ID = PREVPARENT);
IF(REDOVI <> 0) THEN
SET PREVPARENT = MYPARENT;
END IF;
END WHILE;
RETURN PREVPARENT;
END

and I'm getting this error
"alt_sql_proc_rb" was expected instead of "CREATE FUNCTION nadji_parent(child int)
RETURNS INTEGER
NO EXTERNAL ACTION".
As I can tell it's complaining about 'BEGIN ATOMIC'.

Thanks

Viewing all articles
Browse latest Browse all 13329

Trending Articles