从DB2存储过程的结果集中选择

问题描述 投票:4回答:1

我有一个存储过程,该存储过程返回多个记录(无法更改SP,我需要使用已有的东西)。我想从Shell脚本中执行DB2 select语句,该语句根据列数据的组合选择一条记录,如下所示:

select a.description_column from (call my_stored_proc) a where a.name_column='name_filter' and a.value_column='value_filter';

description_columnname_columnvalue_column存在于SP的结果集中。我收到SQLCODE=-727, SQLSTATE=56098, SQLERRMC=2错误。由于我需要从Shell脚本中进行排序,并且我仅具有对DB的读取权限,因此无法为此创建其他表。

sql stored-procedures db2
1个回答
0
投票

您无法从SP中选择。

但是您可以从表函数中获取。

SELECT ... FROM TABLE(<table-function(param1, param2, ..., paramN))) as t WHERE .... 

因此,最简单的方法是要求DBA在源SP中创建表函数。

祝你好运

© www.soinside.com 2019 - 2024. All rights reserved.