【问题标题】:SQL Server:exec('CALL' DB2; advice on managing result set columnsSQL Server:exec('CALL' DB2; 关于管理结果集列的建议
【发布时间】:2012-09-14 20:51:05
【问题描述】:

技术人员--

如果我发出一个 openquery 选择,我的问题就会得到解决——但据我所知 openquery 不允许调用 lingo/w。远程 db2 服务器的参数! :)

以下是有效的:

declare @z varchar(max);

set @z = '999990480,888887530';

exec ('CALL S1CATALOG.HCMDEV.EMP_ALL_STARS(?)',@z) AT DB2I;

此存储过程 (EMP_ALL_STARS) 接受连接的字符串作为 clob,然后返回大约 35 列。并非所有有兴趣使用此存储过程的应用程序都需要全部 35 列。有关如何管理结果集的任何建议?

【问题讨论】:

    标签: sql sql-server-2008 stored-procedures db2


    【解决方案1】:

    您可以控制远程 DB2 过程吗?如果是这样,您可以在 proc 中定义多个游标,每个游标在结果集中都有一组不同的列。在运行时,当需要 proc 打开执行查询并将结果集返回给调用者的游标时,一些逻辑可以评估相关的输入参数以确定打开哪个游标。

    【讨论】:

    • 弗雷德,再次感谢。很好的解决方案!现在,只要我能让开发人员就他们真正想要的列达成一致!:-)
    • 很高兴能提供帮助,没有必要一直称我们为“技术人员”,因为我们都痛苦地意识到这一点。
    猜你喜欢
    • 2017-01-22
    • 1970-01-01
    • 2018-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-27
    • 2016-11-25
    • 1970-01-01
    相关资源
    最近更新 更多