方法1:

--Oracle 根据字段值查询其所在的表、字段
DECLARE
CURSOR cur_query IS
SELECT table_name, column_name, data_type FROM user_tab_columns;
a NUMBER;
sql_hard VARCHAR2();
vv NUMBER;
BEGIN
FOR rec1 IN cur_query LOOP
a:=;
IF rec1.data_type ='VARCHAR2' OR rec1.data_type='CHAR' THEN
a := ;
END IF;
IF a> 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 > THEN dbms_output.put_line('[字段值所在的表.字段]:['||rec1.table_name||'].['||rec1.column_name||']');
END IF;
END IF;
END LOOP;
END;

方法2:

DECLARE
CURSOR cur_query IS
SELECT table_name, column_name, data_type FROM user_tab_columns;
a NUMBER;
sql_hard VARCHAR2();
vv NUMBER;
BEGIN
FOR rec1 IN cur_query LOOP
a:=;
IF rec1.data_type ='NUMBER' THEN
a := ;
END IF;
IF a> THEN
sql_hard := '';
sql_hard := 'SELECT COUNT(*) FROM '|| rec1.table_name ||' WHERE '
||rec1.column_name
|| '=123456';--字段值
dbms_output.put_line(sql_hard);
EXECUTE IMMEDIATE sql_hard INTO vv;
IF vv > THEN
dbms_output.put_line('[字段值所在的表.字段]:['||rec1.table_name||'].['||rec1.column_name||']');
END IF;
END IF;
END LOOP;
END;

SQLserver中如何实现

DECLARE @what varchar()
SET @what='' --要搜索的字符串 DECLARE @sql varchar() DECLARE TableCursor CURSOR LOCAL FOR
SELECT sql='IF EXISTS ( SELECT 1 FROM ['+o.name+']
WHERE ['+c.name+'] LIKE ''%'+@what+'%'' ) PRINT ''[字段值所在的表.字段]:['+o.name+'].['+c.name+']'''
FROM syscolumns c JOIN sysobjects o ON c.id=o.id -- =char =int 可以查 select * from sys.types
WHERE o.xtype='U' AND c.status>= AND c.xusertype IN (, , , )
OPEN TableCursor
FETCH NEXT FROM TableCursor INTO @sql
WHILE @@FETCH_STATUS=
BEGIN
EXEC( @sql )
FETCH NEXT FROM TableCursor INTO @sql
END
CLOSE TableCursor
-- 删除游标引用
DEALLOCATE TableCursor

本位转载自:复制到这里只是怕连接失效哦!!!

http://blog.csdn.net/yangyi22/article/details/7555662

Oracle根据字段值找到表名和列名的更多相关文章

  1. Hive分区表新增字段及修改表名,列名,列注释,表注释,增加列,调整列顺序,属性名等操作

    一.Hive分区表新增字段 参考博客:https://blog.csdn.net/yeweiouyang/article/details/44851459 二.Hive修改表名,列名,列注释,表注释, ...

  2. oracle看到用户的所有表名、表睐、字段名称、现场的目光、是空的、字段类型

    --oracle看到用户的所有表名.表睐.字段名称.现场的目光.是空的.字段类型 select distinct TABLE_COLUMN.*, TABLE_NALLABLE.DATA_TYPE, T ...

  3. [转]关于oracle sql语句查询时表名和字段名要加双引号的问题

    oracle初学者一般会遇到这个问题.   用navicat可视化创建了表,可是就是不能查到!   后来发现②语句可以查询到 ①select * from user; 但是,我们如果给user加上双引 ...

  4. Oracle表名、列名、约束名的长度限制

    Oracle数据库版本11.2.0.1.0 Oracle表名.列名.约束名的长度限制 1.查询用户所有的表 select * from USER_TABLES; 2.查询用户所有表的列 select ...

  5. oracle中,约束、表名、Index等的名称长度限制最大只能30个字符

    oracle中,约束.表名.Index等的名称长度限制最大只能30个字符

  6. MySQL表名、列名区分大小写详解

    前言:出现的问题 在本地数据库上执行修改银行卡没有报错 但线上执行报错 发现是表找不到,发现表名不对应该是card_cardinfo,但本地上没有问题,能正常修改,然后在数据库里测试,发现本地库(wi ...

  7. mybatis动态传入表名、列名

    原文:http://luoyu-ds.iteye.com/blog/1517607 要实现动态传入表名.列名,需要做如下修改 添加属性statementType=”STATEMENT” (可省略) 同 ...

  8. ylb:sql语句重命名表名和列名

    ylbtech-SQL Server:SQL Server-sql语句重命名表名和列名 sql语句重命名表名和列名 ylb:sql语句重命名表名和列名 返回顶部 一.更改数据库名    sp_rena ...

  9. C#获取Access数据库中的所有表名和列名

    //C#获取Access数据库中的所有表名和列名    string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" ...

随机推荐

  1. 机器学习之路:python 多项式特征生成PolynomialFeatures 欠拟合与过拟合

    分享一下 线性回归中 欠拟合 和 过拟合 是怎么回事~为了解决欠拟合的情 经常要提高线性的次数建立模型拟合曲线, 次数过高会导致过拟合,次数不够会欠拟合.再建立高次函数时候,要利用多项式特征生成器 生 ...

  2. [luogu4389]付公主的背包(多项式exp)

    完全背包方案计数问题的FFT优化.首先写成生成函数的形式:对重量为V的背包,它的生成函数为$\sum\limits_{i=0}^{+\infty}x^{Vi}=\frac{1}{1-x^{V}}$于是 ...

  3. Codeforces 1090J $kmp+hash+$二分

    题意 给出两个字符串\(s\)和\(t\),设\(S\)为\(s\)的任意一个非空前缀,\(T\)为\(t\)的任意一个非空前缀,问\(S+T\)有多少种不同的可能. Solution 看了一圈,感觉 ...

  4. 【HDU】2866:Special Prime【数论】

    Special Prime Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tot ...

  5. UVA 11947 Cancer or Scorpio 水题

    Cancer or Scorpio Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://uva.onlinejudge.org/index.php? ...

  6. tsinsen A1067. Fibonacci数列整除问题 dp

    A1067. Fibonacci数列整除问题 时间限制:1.0s   内存限制:512.0MB   总提交次数:2796   AC次数:496   平均分:51.83 将本题分享到:     查看未格 ...

  7. C#情怀与未来,怨天尤人还是抓住机会,能否跟上dnc新时代浪潮?

    C#情怀与未来,怨天尤人还是抓住机会,能否跟上dnc新时代浪潮?   经常看到有.NET圈子在讨论是否应该转其它语言   C#情怀是一方面,如果觉得C#未来没前途,光靠情怀是撑不住的, 建议对C#未来 ...

  8. ubuntu 13.04 编译 安装 升级 gcc 4.9.0 address sanitizer

    @ 前记: 最近查一个线上项目的crash,review代码无果,crash几率低,不可在本地环境重现.之后在线上好几个服务器跑valgrind就不crash了.个人猜测可能是跑valgrind后性能 ...

  9. BrowserRouter和HashRouter的区别

    BrowserRouter: 原理是H5的history API,IE9及以下不兼容,需要由web server支持,在web client这边window.location.pathname被rea ...

  10. python性能优化建议

    参考: https://segmentfault.com/a/1190000000666603 http://blog.csdn.net/zhoudaxia/article/details/23853 ...