使用PL/SQL动态查询并输出结果

  在Oracle数据库中,我们经常需要编写PL/SQL脚本来执行动态SQL查询。这里我们简化了一个示例,用于动态查询特定月份下以特定模式命名的表,并输出查询到的记录数。

动态构建SQL并执行

使用循环来动态构建SQL语句,并执行查询以获取记录数

declare 
  -- Local variables here
  st varchar2(4):='2024';
  months int :=1;
  tablename varchar2(100):='odspmart.T_AWT_EVT_TGPS';
  sqlstr varchar2(1000):='select /*parallel(32)*/ count(1) from ';
  exec_sql varchar2(1000):='';
  result_str varchar2(1000):='';
begin
  -- Test statements here
  loop
    exec_sql:=sqlstr||tablename||'_'||st||to_char(months,'FM00')||'';
    dbms_output.put_line(exec_sql);
    execute immediate exec_sql into result_str ;
    dbms_output.put_line(st||to_char(months,'FM00')||','||result_str);
    months:=months+1;
    exit when months>5 ;
  end loop;
end;

上一篇:C++继承 - 下


下一篇:NumPy 数组切片及数据类型介绍