代码如下:
declare s_sql clob:=''; -- 声明一个变量,该变量用于存储查询的sql语句
要是在遍历后的查询语句中还要用模糊查询这个与普通的sql语句也不同,直接代码了:
declare s_sql clob:=''; -- 声明一个变量,该变量用于存储查询的sql语句
v_cityCode varchar2(20); -- 每个sql语句执行完的查询结果
code varchar2(20); -- 查询条件
begin -- 开启事务
code :='61';
for wf in(select table_name from user_tables where table_name like '__________________201710%') -- 从数据库中的所有表中进行表名的模糊查询, 然后依 次遍历每个表名
loop -- 循环体
s_sql:= 'select count(*) from '|| wf.table_name||' where city_code like :code'; -- 组合查询语句, 其中city_code like :code 的作用是使用code(下面的using code), 1 并没有实际意义
execute immediate s_sql into v_cityCode using code||'%';--执行动态sql
dbms_output.put_line(' 事表'||wf.table_name||'有'||v_cityCode||'行西数据'); -- 输出结果
end loop;
end;
oracle 遍历数组并通过数组元素来创建表格
declare
i number;
begin
for i in 1..9 loop
begin
dbms_output.put_line(i); -- 输出结果
exception
when others then
null;
end;
execute immediate 'create table CALYZES.CM_UNGCARD_CT_2015010'||i||' (
age_code varchar2(10) DEFAULT NULL,
)' ;
end loop;
end ;
commit;
补充:loop end loop 循环体内加if判断可用 if 条件 then 执行语句 end if