returns 几行有条件的程序
Procedure which returns several rows conditionally
我有一个程序,它将 return 一个数字作为输出参数(我们称之为 out_parameter_result)。
根据这个数字我需要有条件地添加行。
伪代码示例(不考虑条件):
if(bitand(out_parameter_result, 1) = 1)
result.add(select 1 from dual)
if(bitand(out_parameter_result, 2) = 2)
result.add(select 2 from dual)
if(bitand(out_parameter_result, 4) = 4)
result.add(select 4 from dual)
return cursor(or resultset) which will contain 1,2,4.
与原来的不同,但在我的情况下工作正常。
SELECT * FROM TABLE WHERE id IN (
DECODE(bitand(v_info, 1), 1, 0, 1),
DECODE(bitand(v_info, 2), 2, 0, 2),
DECODE(bitand(v_info, 4), 4, 0, 3)
我有一个程序,它将 return 一个数字作为输出参数(我们称之为 out_parameter_result)。 根据这个数字我需要有条件地添加行。
伪代码示例(不考虑条件):
if(bitand(out_parameter_result, 1) = 1)
result.add(select 1 from dual)
if(bitand(out_parameter_result, 2) = 2)
result.add(select 2 from dual)
if(bitand(out_parameter_result, 4) = 4)
result.add(select 4 from dual)
return cursor(or resultset) which will contain 1,2,4.
与原来的不同,但在我的情况下工作正常。
SELECT * FROM TABLE WHERE id IN (
DECODE(bitand(v_info, 1), 1, 0, 1),
DECODE(bitand(v_info, 2), 2, 0, 2),
DECODE(bitand(v_info, 4), 4, 0, 3)