
正文
oracle查询有这个值的表,oracle查询所有数据表
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
oracle中如何根据一个字段名查找出所属的表名
可以通过视图 dba_tab_columns来查询。
第一步, MySQL数据库使用特定字段查询所有表名,代码见下图,转到下面的步骤。第二步,执行完上面的操作之后,Oracle数据库使用特定字段查询所有表名,代码见下图,转到下面的步骤。
precision,data_scale from user_tab_columns where column_name=字段名; --根据字段名查出相关的表名出来。
第一重,循环所有表,第二重,循环特定表中的字段,然后将所有满足条件的表名和字段名插入到一张新的表中,然后再自己分析结果,确认究竟是哪个表哪个字段, 仅提供思想而已,需要息写一个procedure 或者function实现。
将oracle所有的表unload出来,形成一组文本文件,然后利用文本搜索命令grep(Unix环境下),查找xiaoming字符串,然后找到对应的文件及所在行;你可以数一下该字符串在第几列;再对应找到该表的结构就能够找到列名了。
select column_name,table_name,data_type ,data_length,data_precision,data_scale from user_tab_columns where column_name=字段名;--根据字段名查出相关的表名出来。
相关问答
Q1: 怎么查询oracle某个用户下的所有表的列是否包含某个指定的值
看用户的表的信息如同marliuang所说,不再赘述。当然了你用A登录后也可以用命令(selecttnamefromtab;)查看。
select * from 用户名.表名 where id=1 当然如果查询的是你所在的用户下的表就可以省略用户名,如果要查询的不是你所在用户下的表,首先要确认你有该用户下查询该表的权限,如果没有,请向管理员联系了。
动态SQL支持所有的SQL类型。所以,定义变量和绑定变量都可以是集合、LOB,对象类型实例和引用。作为一项规则,动态SQL是不支持PL/SQL特有的类型的。这样,它就不能使用布尔型或索引表。
可用如下方法:用指定用户登录指定的数据库实例:打开sql窗口,写如下语句:select * from user_tables;此时,查询出的结果(table_name列)即为这个实例中所有的表名。
select * from all_tab_comments -- 查询所有用户的表,视图等。select * from user_tab_comments -- 查询本用户的表,视图等。select * from all_col_comments --查询所有用户的表的列名和注释。
Q2: oracle中已经知道一个具体值,如何根据该值查询出含有该值的表名和列名...
1、如果知道已知表的已知字段的话,检索表的内容,按照顺序检索表即可。
2、首先,打开并登陆plsql。然后点击左上角的新建,选择sqlwindow。此时,右边区域就会弹出一个sql窗口,我们可以在这里输入一些sql语句。查询多个字段的sql语句为:select字段1,字段2from表名。
3、而且个人估计会内存溢出导致查询失败。如果真的想查,有一个缩小范围的办法。就是找能放下这个值的字段,这点是可以做到的。然后再通过这些表去找。剩下的部分只能是人工判断,没什么太好的方式。
4、因为你的这个需要基本都是比一定逻辑的查询,实现起来有相当的难度。因为首先要确定有多少张表,每张表中有多少个字段,然后才能实现某个字段中的某条记录包含你所需要的这个特定的值。
5、需求已知一个数据(字符串,数值等)是从一个数据库中查询出的,但是数据库表以及表结构不知。需要通过该值查找出所保存的表名以及字段名,目标暂定为SqlServer。Oracle思路明白也可作出。
6、Oracle数据库最新版本为Oracle Database 12c。 Oracle数据库12c 引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。
Q3: oracle可以根据值查到这个值在哪个表里吗
可以用select语句查询某个表中某字段是否存在某个值,如果有,可以查询改行的其他字段值。没办法遍历所有表和字段知道某个值在哪里,即使写了语句,代价也太大了。祝好运,望采纳。
分两种情况,一种是查询当前用户下的表,另一种是查询当前数据库下所有的表。
precision,data_scale from user_tab_columns where column_name=字段名;--根据字段名查出相关的表名出来。
而且个人估计会内存溢出导致查询失败。如果真的想查,有一个缩小范围的办法。就是找能放下这个值的字段,这点是可以做到的。然后再通过这些表去找。剩下的部分只能是人工判断,没什么太好的方式。
你用的sys用户登录的吧SELECT * FROM user_tables 出来的结果是把系统表全部显示出来的。
关于oracle查询有这个值的表和oracle查询所有数据表的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






