は、次のスクリプトを試してみてください。スクリプトはステートメントを生成し、別のスプールで実行します。
set serveroutput on size 1000000
set verify off
set feedback off
spool script.sql
declare
v_main_select varchar2(32000):= 'select col1, col2, col3 from table1'; -- your main statement
begin
for r_query in (select condition, where_statement from (
select 'condition1' condition, 'where id = 10' where_statement from dual -- your condition name and where statements
union
select 'condition2', 'where id = 11' from dual
-- more unions for each condition....
)
) loop
dbms_output.put_line('spool'||' '||r_query.condition);
dbms_output.put_line(v_main_select||' '||r_query.where_statement||';');
dbms_output.put_line('spool off');
end loop;
end;
/
spool off
@script.sql
MS SQL ServerまたはOracleを使用していますか?関与していない製品にはタグを付けないでください。 – jarlh
これまでに試したことを示してください。純粋なコーディング支援の質問のように見えます –
'itemno =:itemnoまたは:itemnoがnullの場合や、(prodgrppatternや:prodgrppatternのようなproductgroupがnullの場合) ...? –