oracle 查询 字段包括,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;

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值