• Oracle生成查询包括对应于所有数据表记录语句中指定的字段名


    应用:已知的字段名,表中的所有数据的查询数据库中包含的所有数据表的字段名

    操作方法:指定字段名,用户数据库表,它可以执行以下查询

    --Oracle生成查询包括对应于所有数据表记录语句中指定的字段名

    declare

    mycolumnname VARCHAR(255):='userid';--定义要查询的字段名变量,执行前改动成您要查询的字段名
    myownername VARCHAR(255):='system';--定义要查询的数据库username变量,执行前改动成您要查询的数据库username
    mystring NVARCHAR2(4000):=''; --定义要输出的字符串变量   

    cursor mycursor is --定义游标          
    select * from dba_tab_columns where lower(column_name)=mycolumnname and lower(owner)=myownername;
    myrecord mycursor%rowtype;  --定义游标记录类型   
    Counter int :=0;   
    begin   
    open mycursor;  --打开游标   
    if mycursor%isopen  then  --推断打开成功   
    loop --循环获取记录集     
    fetch mycursor into myrecord; --获取游标中的记录         

    if mycursor%found then  --游标的found属性推断是否有记录  

    mystring:='select * from '||myrecord.table_name||';';
    dbms_output.put_line(mystring);    

    else            
    exit;
    end if;
       
    end loop;   
    else     
    dbms_output.put_line('游标没有打开');   
    end if;  
    close mycursor;

    end;


    执行结果相似于以下的语句:
    select * from DEF$_PROPAGATOR;
    select * from REPCAT$_REPCATLOG;
    select * from REPCAT$_REPGROUP_PRIVS;
    select * from SQLPLUS_PRODUCT_PROFILE;
    select * from PRODUCT_PRIVS;


    版权声明:本文博主原创文章。博客,未经同意,不得转载。

  • 相关阅读:
    Oracle PL/SQL
    plsql命令行窗口执行脚本打印输出
    Oracle 数据库维护管理之--数据库基本信息表管理与优化参考1
    Oracle 数据库维护管理之--dbms_lock
    Oracle sys或者system的默认密码
    Docker学习--docker的基本认识
    正则表达式--指定时间格式校验
    Docker学习--基本docker命令
    HTTP协议以及HTTP请求中8种请求方法
    如何查看class文件的jdk版本
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4757759.html
Copyright © 2020-2023  润新知