oracle查询有哪些表拥有这个值

数据库可不可以根据一个值查询出哪些数据表拥有这个值?比如说我这有A表有个ID字段值为”0dbe92de-c478-433f-9f07-ce0a4dfb2fd2“,但我不知道关联表和关联的字段,我可以根据这个值查询出哪张或者哪几张表拥有这个值么?或者有什么方法找到这个关联字段?

1

8个回答

--Oracle 根据字段值查询其所在的表、字段

DECLARE

CURSOR cur_query IS

SELECT table_name, column_name, data_type FROM user_tab_columns;

a NUMBER;

sql_hard VARCHAR2(2000);

vv NUMBER;

BEGIN

FOR rec1 IN cur_query LOOP

a:=0;

IF rec1.data_type ='VARCHAR2' OR rec1.data_type='CHAR' THEN

a := 1;

END IF;

IF a>0 THEN

sql_hard := '';

sql_hard := 'SELECT count(*) FROM '|| rec1.table_name ||' where '

||rec1.column_name|| ' like''吴芳''';--字段值

dbms_output.put_line(sql_hard);

EXECUTE IMMEDIATE sql_hard INTO vv;

IF vv > 0 THEN dbms_output.put_line('[字段值所在的表.字段]:['||rec1.table_name||'].['||rec1.column_name||']');

END IF;

END IF;

END LOOP;

END;

0
yu9851910
yu9851910 是只需要更改“吴芳”这里么?我修改后没有查询出任何东西
大约一年之前 回复

你可以通过创建视图试试

0
yu9851910
yu9851910 数据库早就存在了,所有表都没有备注,现在对找出两字关联字段相当困扰
大约一年之前 回复

这个数据表多的情况不可能找出来的。

0
 SELECT * FROM user_tab_columns;

这个视图含数据库所有表名、列名,先根据已知数据值的 类型、长度、是否可为空等属性,缩小可能的列名范围,再写个小程序遍历查找
(数据库非常庞大的话大概会很困难)

0

你这种方法关联不全,只能查询到相关业务发生的关联,如果还没有业务数据,你这个是体现不出来的。最好找个技术熟悉跟此表相关业务,再看程序查找。

0

select name from information_schema.COLUMNS where table_schema="数据库名"

0

1、你这个值应该是uid什么生成的,人工查看每张表的id值,值的样子差不多的再手动写sql查询过滤验证是否存在吧
2、遍历所有表所有字段,拼接sql,再循环一个一个执行吧,会很慢,很慢,很慢

0

这个很明显是 guid 机器识别码 自动生成的主键存进数据库的 C# Guid.NewGuid(); 这个方法就可以生成

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Oracle的系统和对象权限 查看用户包含的各类权限
  Oracle数据库用户权限查询和一些查看操作(汇总) 2018年07月22日 20:32:38 茶木君 阅读数:1222 标签: oracle 更多 个人分类: oracle dba权限:user为有dba权限的账号,如sys,system,或者是已经被授予dba权限 1.查询用户拥有的系统权限 SQL> SELECT GRANTEE,PRIVILEGE FROM DBA_SY...
【Oracle】如果有一个Oracle中的用户,想知道他有什么权限,怎么查看?
假如那到了一个新用户,test,想查看这test的所有权限都有哪些,可以这么操作登录到test用户上,执行下面的SQL1.查看test用户被赋予了哪些角色。select * from user_role_privs;2.查看当前用户所拥有的全部权限 Select * from session_privs;    3.查看用户所授予的系统权限Select * from user_sys_privs;...
Oracle中查看用户具有哪些权限及其相关视图
查询某个用户具有的角色: select grantee,granted_role from dba_role_privs where grantee='WJW'; 查询某个用户具有的系统权限: select grantee,privilege from dba_sys_privs where grantee='WJW'; 查询某个角色中具有什么系统权限: select privilege
oracle数据库根据列名查询出与这个列名相关的所有表
查询关于这个列的所有表: select a.table_name from ALL_TAB_COLUMNS a where a.COLUMN_NAME like 'TXCODE';
Oracle查询某字段在哪些表中有
在网上查的sql语句一般都是: select TABLE_NAME from user_tab_columns where COLUMN_NAME='CNAME'  可是在user_tab_columns表中查询某字段在哪些表中出现过的时候,会把视图也查出来,还会查出一个莫名其妙的一串字符,与需求不符,   之后又认识了另一个表:user_tables,这个表能够查询出...
oracle 11.2 查询一个表里的某个字段在另外一个表里是否有数据
第一个表 TB_IST_PLAN_ITEM (保养项表)有字段refer_item_guid,第二个表 TB_IST_UPLOAD_FILE(附件表) 有字段 relation_guid(取值于第一个表的refer_item_guid),本SQL语句查询第一个表的每一个保养项是否有视频附件存在于第二个表里:   select it.*,ff.file_path,(case when ff.fi...
查询一个值,在这个表中存不存在
两个表中查询出来的数据用逗号分开, 查询一个值,在这个表中存不存在 select b.id from T_HF_ALARM_USERS b, (select wm_concat(U_IDS) A from T_HF_ALARM_USERGROUP ) a where instr(a.A, b.id) > 0 and b.”ID”=’8’ select b.B from tableB...
oracle查看某个表空间下有多少表
oracle查看某个表空间下有多少表   oracle查看某个表空间下有多少表    www.2cto.com   select * from all_tables where tablespace_name='TRAIN';   oracle 查看某个表空间下,某个用户有多少表   select * from all_tables where ta
查找数据库中有哪些表有这个字段
SELECT TABLE_NAME FROM USER_TAB_COLUMNS  WHERE COLUMN_NAME = '字段名'  其中字段名是区分大小写的
oracle数据库中查找含有某列名的所有表
最近要做一个二次开发,首先要弄清楚的当然是老项目中的上百张表和它们之间的关系。有的时候,为了弄清表之间关系,需要根据已知一个列名把所有具有该列的表查出来。我用的是oracle的sql developer,这个工具应该有可视化的查找方法,但是我不知道,只好到bing里搜了一下,很幸运,在stackoverflow上面有个人问了同样的问题并得到了答案:SELECT * FROM ALL_TAB_COL
Oracle中通过某个值查询属于哪张表,哪个字段
通过输入某个值查询数据库中哪个表,哪个字段包含。 1.创建存储过程 CREATE OR REPLACE PROCEDURE PROC_FindValueInDB (str in VARCHAR,results out sys_refcursor)AUTHID CURRENT_USER AS --执行SQL语句 sqlStr VARCHAR(4000); --判断表是否存在 ta
Oracle中询表的权限被授予给了哪些用户
        Oracle查询表将权限赋给了哪些用户的SQL,以备查用。 select t.table_name as "表名", t.grantee as "被授权的属组", t.owner as "对象所在的属组", t.grantee as "主动授权的属组", t.privilege as "具体...
Oracle查询最新变动的表
--查看最新变动的表:  CALL DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO(); SELECT * FROM USER_TAB_MODIFICATIONS;
oracle查询表,表空间,用户权限等
1) 用户 常用的有三个:sys,system,scott。默认密码分别是change_on_install,manager,tiger。 它们都有角色,角色决定它们的权限,如sysdba,sysoper,dba。(具体这些角色有什么权限可以百度一下)。 用任何一个用户连接数据库,它们拥有的表都是不一样的。 2)表空间 表空间是一个虚拟的概念,来管理表啊,视图啊,索引啊等等这些逻
sys通过授予select_catalog_role角色给用户,使用户有权限查询数据字典。
sys通过授予select_catalog_role角色给用户,使用户有权限查询数据字典。 引:深入解析Oracle:DBA入门、进阶与诊断案例
Oracle查询表中指定字段的数据是否含有某个字符
[size=medium]采用user_table_column即可, 该视图主要字段说明如下: TABLE_NAME 表、视图或Clusters名称 COLUMN_NAME 列名 DATA_TYPE 数据类型 我的需求如下:要在当前用户的表里面找到所有商品ID为A的字段并将其更新[/size] [code="sql"] declare v_sql varch...
如何在Oracle数据库中查询所有表中含有某一个字段
       前几天碰到一个需求,要用在所有用户表中查出某个表中是否含有某个值(不是字段。。。。),琢磨了一个上午,听起来需求有点变态,Oracle是非关系型数据库,在不考虑性能场景下唯一能做的就是全库遍历,假设字段为varchar类型。废话不多说,直接上存储过程:CREATE OR REPLACE procedure QUERY_KEY(    keyword in varchar2)as   ...
ORACLE管理-查看拥有DBA角色的用户
ORACLE管理-查看拥有DBA角色的用户
oracle查询哪个字段在哪个表中存在
SELECT TABLE_NAME,COLUMN_NAME FROM USER_TAB_COLUMNS WHERE COLUMN_NAME like '%AAA008%' (大写)
oracle查询某表是否存在,某字段是否存在某表
查询某字段在某表中是否存在select count(0) as aanum from user_tab_columns   where UPPER(column_name)='SEQ_NO' AND TABLE_NAME = 'TEST_TABLE'查询当前用户下是否存在某表OWNER为当前用户名称select count(1) as bbnum from all_tables where TAB...
oracle 查看一张表共有几个字段
select count(*) from user_tab_columns t where t.TABLE_NAME='表名/视图名'
查看SCOTT账户下 所有表及索引
会mysql的人在第一次接触oracle的时候,或多或少有那么点不适应,就例如我,,, 刚开始妄想用show tables; 来显示所有表,结果 不堪回首。 下面说正确方法:(以 SCOTT用户为例)查看该用户下的所有表 第三行是正确的语句注意 用户名为大写的 SCOTT,上面的第一个 犯的就是这个错查看该用户下的所有索引查看SCOTT账户 下有哪些对象及其对象的类型:
oracle 查询包含某字段的所有表
1、查有几张表 select * from tab; select * from cat; select * from user_tables; select TABLE_NAME from user_tables; 2、查包含字段NAME的所有表 select TABLE_NAME , COLUMN_NAME,DATA_TYPE from USER_TAB_COLS where
【Oracle】查看某个角色中有什么权限
select * from role_sys_privs  where role='DBA'; 查看dba都有什么系统权限 select * from role_sys_privs where role='RESOURCE'; 查看rosource 有什么权限
oracle的系统和对象权限 查看用户包含的各类权限
查看某个用户在某个对象的权限,可以查dba_tab_privs 或者user_tab_privs   如下:某普通用户登陆,查自己的角色 SQL> select * from user_role_privs;   查自己拥有哪些系统权限 SQL> select * from session_privs;
Oracle数据库中,知道一张表,查询与其有主外键关系的表
Oracle数据库中,知道一张表,查询与其有主外键关系的表
Oracle:列出当前用户下可见的所有表名及权限…
select * from tab;select * from tab where .....;select table_name from user_tables; 用户自己拥有的表select table_name from all_tables; 所有其他可以访问的表select table_name from dba_tables; 有DBA角色的用户所拥有的表--------------
Oracle 查看用户的表级权限和同义词
--Oracle 查看用户的表级权限 SELECT * FROM user_tab_privs u WHERE u.table_name LIKE '%CUX_OM_SHIPMENTS_HDR_IFACE%';   --Oracle 查看用户的表级同义词 SELECT * FROM user_synonyms u WHERE u.synonym_name LIKE '%CUX_OM...
Oracle 查询数据库中没有数据的表
查询语句: select * from all_all_tables where owner='SDE' AND num_rows='0' 其中: owner 是用户 num_rows 表中的行数
如何在Oracle中 查询一个表被其他数据库对象引用
这两天老大让我再oracle中把要替换的表被其他对象引用之处找出来,整理一份表,接到这个任务,我是一脸懵逼,怎么找?大海捞针么?问同事、查资料,自己研究,最后整理一下仅供大家参考,同时以备将来回顾。本篇只涉及表被其他数据库对象引用,不涉及外键,想寻找外键的,自己查看下面附有的链接。 首先有下列几种方式: 1、plsql工具 ; 点击工具,找到 查找数据库对象 最后进入到查找页面 ...
oracle查询包含某个属性的所有表
select column_name, table_name,data_type ,data_length,data_precision,data_scale from user_tab_columns  where column_name = 'THEME_ID'
Oracle 查询数据库中包含某一特定值的所有字段名,以及表名
/* 使用方法: 0.替换关键字 1.执行代码部分,创建 MY_Pro_SearchKeyWord 2.在Procedures中找到MY_Pro_SearchKeyWord 右键测试 3.执行显示的代码部分 4.在 DBMS输出 中查看执行结果 */ create or replace procedure MY_Pro_SearchKeyWord is v_sql VARCHAR2(4000);
Oracle 查询数据库有多少张表
这个查询的需求很大可能是进行了Oracle数据库导入导出操作,买了新的服务器,你的上司老板叫程序猿们,数据库换个环境,移植到新的服务器上。为了验证导入进去的表有没有少,我们需要查询当前用户下的总表个数。登录sys用户后通过user_tables表查看当前用户下表的张数。 sql:conn / as sysdba; sql:select count(*) from user_tables
数据库中查找某值所在的表、字段(Oracle、SqlServer)
DECLARE CURSOR cur_query IS SELECT table_name, column_name, data_type FROM user_tab_columns; a NUMBER; sql_hard VARCHAR2(2000); vv NUMBER; BEGIN FOR rec1 IN cur_query LOOP ...
Oracle 查询表中字段里数据是否有重复
1、查找单个字段1select 字段名,count(*) from table group by 字段名 having count(*) > 12、查找组合字段:1SELECT TEST_NAME1,TEST_NAME2,COUNT(*) FROM table GROUP BY TEST_NAME1,TEST_NAME2 HAVING COUNT(*) > 1...
oracle 根据字段名查找表
select * from user_tab_columns where column_name like '%SUBFUNC%';
sql查询一个用户下有多少张表
之前一直用的是 select table_name from user_tables; 没想到还有一个 select * from tab  这个还可以看到视图,用处很大 另:用DBA给一个用户重置密码并解锁 alter user hr identified by hr account unlock;
如何查看Oracle中有哪些表
可以通过查询语句对系统表 user_tables 进行查询。例如要列出用户表中都存在那些表,它们所使用的表空间是那个,可以用下面的语句进行查询select table_name,tablespace_name from user_tables;
Oracle中查询带有lob字段的表的大小
Oracle中 lob字段采用独立的lob segment来存储,因此表的大小不能只查看dba_segments. mos给出了查询语句: How to Compute the Size of a Table containing Outline CLOBs and BLOBs (文档 ID 118531.1)
oracle plsql 根据 值 查询 在某个表,某个字段 和 sql server 中根据 值 查询 在某个表某个字段
  oracle plsql 根据 值 查询 在某个表,某个字段 和 sql server 中根据 值 查询 在某个表某个字段 Oracle 方式 : declare CURSOR cur_query IS select table_name, column_name, data_type from user_tab_columns; a number; sql_hard va...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 有产品经理这个课程吗 有哪些大数据培训