【发布时间】:2017-07-06 12:45:55
【问题描述】:
我正在为 variable argument 存储过程而苦苦挣扎,该存储过程必须使用在其 WHERE 子句中传递给它的每个参数对表执行 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 或附加到结果表?
【问题讨论】:
标签: sql oracle parameter-passing