Sql 从函数调用存储过程
我有以下存储过程:Sql 从函数调用存储过程,sql,function,stored-procedures,db2,return-value,Sql,Function,Stored Procedures,Db2,Return Value,我有以下存储过程: CREATE OR REPLACE PROCEDURE SEARCH_SELECT (IN searchKey varchar(30), OUT id INT, OUT cmd VARCHAR(1024), OUT attr CHAR(10)) LANGUAGE SQL READS SQL DATA DYNAMIC RESULT SETS 1 BEGIN DECLARE result_set_1 CURSOR WITH RETURN TO CLIENT F
CREATE OR REPLACE PROCEDURE SEARCH_SELECT (IN searchKey varchar(30), OUT id INT, OUT cmd VARCHAR(1024), OUT attr CHAR(10))
LANGUAGE SQL
READS SQL DATA
DYNAMIC RESULT SETS 1
BEGIN
DECLARE result_set_1 CURSOR WITH RETURN TO CLIENT FOR
SELECT id, cmd, attr FROM test.commandtbl c WHERE c.attr = searchKey;
OPEN result_set_1;
END!
我想从以下函数调用它:
CREATE OR REPLACE FUNCTION select_selector (param VARCHAR(3))
RETURNS TABLE (id INT, CMD VARCHAR(1024), ATTR CHAR(10))
LANGUAGE SQL
READS SQL DATA
EXTERNAL ACTION
BEGIN
call SEARCH_SELECT(param);
END!
原因是我需要像调用函数那样调用一个表,比如
select * from table(select_selector('a'))
而不是像一个程序
call SEARCH_SELECT('a')
我怎样才能让它工作呢
这里的问题是如何使用函数中的参数调用存储过程,并获得与存储过程返回的结果相同的结果,这样我就可以像调用表一样调用该过程 添加的可能重复项解释其原因