I am trying to return two different SQL statements in an UDF based on a IF condition. So far I haven't been able to do it correctly, the code below does not work. How can I do this?
CREATE FUNCTION BELSIZE.TEST (aSTRING VARCHAR(50))
RETURNS TABLE(
column1 INTEGER
, column2 INTEGER
, column3 VARCHAR(50)
)
------------------------------------------------------------------------
F1: BEGIN ATOMIC
DECLARE v_string VARCHAR(50);
SET v_string = aSTRING;
IF v_string = '123' THEN
With v (column1, column2, column3) as (
VALUES (1, 10231011, 'PRINCIPAL')
, (1, 10231012, 'ADDITIONAL')
, (-1, 10231031, 'REDEEM')
) select * from v;
END IF;
RETURN
With v (column1, column2, column3) as (
VALUES (1, 10231011, 'PRINCIPAL 456')
, (1, 10231012, 'ADDITIONAL 456')
, (-1, 10231031, 'REDEEM 456')
) select * from v;
END
Thanks.