Informix SQL / 如何在另一个查询中重用存储过程的结果

3

我想在另一个查询中使用存储过程的结果,但我不知道正确的语法。数据库管理系统:IBM Informix,存储过程,我在使用。

Select col1 from table (MULTISET(EXECUTE PROCEDURE procedure ('param1','param2')))

Informix 11.x(指11.10、11.50或11.70),我猜是吧?版本号总是值得注意的;平台也值得注意,尽管它对这个问题不是至关重要的。 - Jonathan Leffler
版本号是IBM Informix Dynamic Server Version 11.50.UC5XE。 - Oytun Yilmaz
1个回答

2
这是一个例子:
CREATE FUNCTION SF_DYN_REP_EXEC(i_sql varchar)
    RETURNING INT, VARCHAR(30);

    DEFINE ret_groupid int;
    DEFINE ret_groupname varchar(30);
    FOREACH cursor1
    FOR
        SELECT groupid,
             groupname INTO 
             ret_groupid,
             ret_groupname
        FROM tctaddinmessagegroups
        RETURN ret_groupid,
             ret_groupname WITH RESUME;
    END FOREACH;
END FUNCTION;

select vret_groupid C1,
             vret_groupname C2 from
table (function SF_DYN_REP_EXEC('blablabla'))
vtab1(vret_groupid,
             vret_groupname)
order by vret_groupid,
             vret_groupname;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接