Re: A Big cursor problem in SPL. Anybody help?
Posted in 2003
You can make a procedure and return values WITH RESUME:
CREATE PROCEDURE cursor1( p integer, ...) RETURNS f1, f2, ......
IF p=1 THEN
FOREACH SELECT1...INTO v1, v2, ...
RETURN v1, v2, ... WITH RESUME
END PROCEDURE;
END IF;
IF p=2 THEN
FOREACH SELECT2...INTO v1, v2, ...
RETURN v1, v2, ... WITH RESUME
END IF;
END PROCEDURE;
Then you call this procedure for your big logic:
FOREACH EXECUTE cursor1( a ) INTO g1, g2, ...
...big logic...
END FOREACH;
larini@email.com (Paulo Cooker) writes:
> I need to open a cursor depending on a condition:
>
> if a=1 then
> open cursor for SELECT1....
> if a=2 then
> open cursor for SELECT2....(same columns but another select)
> if a=3 then
> opene ......
> ......
>
> now, work with one of those cursors:
> fetch cursor ....
> ...
> a big logic here..
> close cursor;
>
> It look like Informix does not suport such thing. Or it does somehow?