0
我在使用可变参数挣扎存储过程必须使用在其WHERE子句中传递给它的每个参数对表执行SELECT操作。Oracle SQL - 具有可变参数的SELECT存储过程
基本上我有N帐号作为参数,我想返回一个表,每个帐号选择三个字段的结果。
这是我迄今所做的:
function sp_get_minutes_expiration_default(retval IN OUT char, gc IN OUT GenericCursor,
p_account_num IN CLIENT_ACCOUNTS.ACCOUNT_NUM%TYPE) return number
is
r_cod integer := 0;
begin
open gc for select account_num, concept_def, minutes_expiration_def from CLIENT_ACCOUNTS
where p_account_num = account_num; -- MAYBE A FOR LOOP HERE?
return r_cod;
exception
-- EXCEPTION HANDLING
end sp_get_minutes_expiration_default;
我的蛮力解决方案是可能遍历帐号,选择列表,也许做一个UNION或追加到结果表?
@ jeff5times7在这短短的例子p_account_num应该是什么类型,SQL LIST的?我一直在阅读关于TABLE()函数的内容,但我不太明白它需要什么参数。请你再扩充一点吗? – Franch
请参阅附录1。 – jeff6times7