我有一个存储过程,该存储过程返回多个记录(无法更改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_column
,name_column
和value_column
存在于SP的结果集中。我收到SQLCODE=-727, SQLSTATE=56098, SQLERRMC=2
错误。由于我需要从Shell脚本中进行排序,并且我仅具有对DB的读取权限,因此无法为此创建其他表。
您无法从SP中选择。
但是您可以从表函数中获取。
SELECT ... FROM TABLE(<table-function(param1, param2, ..., paramN))) as t WHERE ....
因此,最简单的方法是要求DBA在源SP中创建表函数。
祝你好运