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;

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

时间: 2024-10-16 05:00:47

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

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

应用场合:已知字段名字,查询数据库中所有数据表中包含该字段名的所有数据表 操作办法:指定字段名,数据库表用户,执行下面查询语句即可 --Oracle生成查询包含指定字段名对应的所有数据表记录语句 declare mycolumnname VARCHAR(255):='userid';--定义要查询的字段名变量,运行前修改成您要查询的字段名myownername VARCHAR(255):='system';--定义要查询的数据库用户名变量,运行前修改成您要查询的数据库用户名mystring NV

【译】 AWK教程指南 3计算并打印文件中指定的字段数据

awk 处理数据时,它会自动从数据文件中一次读取一条记录,并会将该记录切分成一个个的字段:程序中可使用 $1, $2,... 直接取得各个字段的内容.这个特色让使用者易于用 awk 编写 reformatter 来改变数据格式. 范例:以数据文件 emp.dat 为例,计算每人应发工资并打印报表. 分析:awk 会自行一次读入一条记录,故程序中仅需告诉 awk 如何处理所读入的数据行. 执行如下命令:($ 表UNIX命令行上的提示符)  $ awk '{ print $2, $3 * $4 }'

oracle表空间查询维护命令大全之一(数据表空间)史上最全

表空间是数据库的逻辑划分,一个表空间只能属于一个数据库.所有的数据库对象都存放在建立指定的表空间中.但主要存放的是表, 所以称作表空间.在oracle 数据库中至少存在一个表空间,即SYSTEM的表空间.一个表空间可以包含多个段,以及区,以及最小的块,同时也可以包含多个数据文件(物理结构). oracle 可以根据表空间对相关的用户配额以及磁盘空间都有极大的保护作用,而且还可以灵活的存放,同时也可以把不同的数据文件分开存放,保证不同数据文件的安全行. 所以在一般数据创建后,就会创建相关的表空间,

oracle的学习 第二节:创建数据表

学习内容: A.创建数据库和表空间 B.创建用户和分配权限 C.创建数据表 一.创建数据库和表空间 (一)SQL语言的基本概念 1.概念 高级的结构化查询语言:沟通数据库服务器和客户的重要桥梁. PL/sql语言是结构化的查询语言. 2.分类: 数据定义语言  :create  alter  drop 数据操作语言: insert update delete 数据控制语言:select (二)创建数据库的两种方式 方式一:图形界面: 方式二:create  Datebase命令方法.(常用) 具

Oracle使用超大SQL脚本文件恢复数据问题记录

在以前获取的Oracle数据库备份一般都是dmp文件,创建表空间和用户就直接使用imp或者impdp导入即可. 这一次遇到的情况比较特殊,对方提供数据时给我的是使用SQLPlus导出的SQL脚本文件,是Linux系统中导出的,因为很难让对方再次提供数据,因此只有用这个来导入数据.导入速度慢不说,还挺麻烦,不过没办法,问题总得解决. 在这个过程中遇到两大问题: 1. SQL脚本文件太大(超过1G),Windows上看不了内容,不知道怎么导入到数据库中. 一般SQLPlus执行SQL脚本文件倒是容易

Mysql 数据表记录操作

1 增加记录: insert [into] tab_name (field1,field2....) values (values1,values2....) , (values1,values2....), ... : insert tab_name set field=value, field=value,..... : 2 修改记录 update tab_name set field=value where 子句 3 删除表记录: delete from tab_name where 子句

MYSQL数据表操作语句

1.查看某数据库中的表 SHOW [FULL] TABLES [FROM db_name] [LIKE 'pattern'] SHOW TABLES列举了给定数据库中的非TEMPORARY表.也可以使用mysqlshow db_name命令得到此清单. 本命令也列举数据库中的其它视图.支持FULL修改符,这样SHOW FULL TABLES就可以显示第二个输出列.对于一个表,第二列的值为BASE TABLE:对于一个视图,第二列的值为VIEW. 2.查看数据表的详细信息 SHOW TABLE S

使用命令行将Excel数据表导入Mysql中的方法小结

从Excel数据表导入MySQL,已经做过好几次了,但每次都会碰到各种问题:invalid utf8 character string, data too long, ...,浪费了不少时间 为了提高效率,是时候指定一个数据导入的SOP了: 1.准备.txt文件 1.1 将要导入的数据(不含表头)从工作表复制.粘贴到一个新建的Excel数据表中(避免污染源数据) 1.2 粘贴时注意:使用右键paste as value选项,过滤掉源数据表中的多余格式(如,字体颜色.粗体等) 1.3 将新建的Ex

C#中如何解决sqlite数据表/记录删除后数据库内存不变的问题

在C#中使用sqlite数据库时发现,删除了数据表或大量数据后,数据库的并不会变小. 这是因为数据库中删除大量数据后,会留下原来的数据空间(空闲数据页),数据库默认不会自动释放这些空间.可以通过"VACUUM"命令释放空间. 网上查到两种方法(手动/自动): 1.手动释放空间 先写一个执行sql语句的函数: 1 private void ExecuteSql(string sDbPath, string sqlStr) 2 { 3 using (SQLiteConnection con