我正在使用Oracle Method_4来使用动态查询,并且我想设置动态参数。
许多用户在运行时设置参数。
像这样:
select * from table(method4.dynamic_query(
q'[
select replace(
q'!
select '#TABLE_NAME#' table_name, count(*) a from #TABLE_NAME#
where id = &Parameteres
!', '#TABLE_NAME#', table_name) sql_statement
from user_tables
where table_name like 'TEST%'
]'
));
我的问题是:
如果用户设置了param_1,则:
select * from tb_1
where col_1 = ¶m_1
如果用户设置了param_2,则:
select * from tb_1
where nvl(¶m_2,col_2) = col_2
如果用户设置了param_1,param_2,则:
select * from tb_1
where col_1 = ¶m_1
and nvl(¶m_2,col_2) = col_2
喜欢使用动态where子句执行查询。
我该怎么做?