1.字符串拼接SQL语句,通过EXECUTE IMMEDIATE命令执行,并返回结果
-- p_table_name:变量
-- SQL执行完的结果,通过into语句写入变量l_count
l_sql := 'select count(1) from ' || p_table_name || ' where batch_id=' ||
p_batch_id ;
EXECUTE IMMEDIATE l_sql
into l_count;
2.若存在表字段为字符类型,则可以通过如下方式实现:
其中 :1 对应的using后第一个参数,以此类推
l_sql := 'select count(1) from ' || p_table_name || ' where batch_id=' ||
p_batch_id || ' AND PROCESS_STATUS=:1 AND IMP_STATUS=:2 ';
EXECUTE IMMEDIATE l_sql
into l_count
using 'S', 'E';