zoukankan      html  css  js  c++  java
  • oracle 语句之对数据库的表名就行模糊查询,对查询结果进行遍历,依次获取每个表名结果中的每个字段(存储过程)

    语句的执行环境是plsql的sql窗口, 语句的目的是从整个数据库中的所有表判断 不等于某个字段的记录数 。

    代码如下: 

      declare s_sql clob:=''; -- 声明一个变量,该变量用于存储查询的sql语句

      v_cityCode varchar2(20); -- 每个sql语句执行完的查询结果
      code varchar2(20); -- 查询条件
      begin -- 开启事务
        code :='110112'; 
        for wf in(select table_name from user_tables where table_name like '__________________201711%') -- 从数据库中的所有表中进行表名的模糊查询, 然后依  次遍历每个表名
           loop -- 循环体
            s_sql:= 'select count(*) from '|| wf.table_name||' where city_code !=:1'; -- 组合查询语句, 其中city_code != :1的作用是使用code(下面的using code), 1  并没有实际意义
            execute immediate s_sql into v_cityCode using code;--执行动态sql 通过,using可以区分来添加多个变量,注意字段的大小写的区分
           dbms_output.put_line(v_cityCode||' '||wf.table_name); -- 输出结果
           end loop;
      end;

    要是在遍历后的查询语句中还要用模糊查询这个与普通的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

  • 相关阅读:
    【★】IT界8大恐怖预言
    ★互联网告别免费时代,准备好了吗?
    ★互联网告别免费时代,准备好了吗?
    PS小实验-去除水印
    PS小实验-去除水印
    玩转PS路径,轻松画logo!
    玩转PS路径,轻松画logo!
    玩转PS路径,轻松画logo!
    地图收敛心得170405
    地图收敛心得170405
  • 原文地址:https://www.cnblogs.com/xizhenghe/p/7798589.html
Copyright © 2011-2022 走看看