首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

oracle 怎么从某种特定格式的数据找到这种数据存在哪个表中?

2012-09-08 
oracle 如何从某种特定格式的数据找到这种数据存在哪个表中??在oracle里面 一个库中有n多表现在我只知道在

oracle 如何从某种特定格式的数据找到这种数据存在哪个表中??
在oracle里面 一个库中有n多表  
现在我只知道在这些表中的某个字段存在这样的数据:0001.123456789(格式是固定的) 我怎么样才能匹配到这种数据存在哪个表中?

[解决办法]
看看:

select * from user_objects;
[解决办法]
select * from user_tab_columns

可以查出字段的信息
[解决办法]
Oracle本身并没有提供这要的函数,但可以通过存储过程来实现。
请参考:

SQL code
CREATE OR REPLACE PROCEDURE FindTable ISDECLARE    CURSOR curTableName IS     SELECT TABLE_NAME FROM USER_TAB_COLUMNS WHERE COLUMN_NAME='USERID';    sqlStr VARCHAR2(200);    res     NUMBER(20);BEGIN    FOR r IN curTableName    LOOP        -- 动态SQL语句        sqlStr := 'SELECT COUNT(1) INTO res FROM r.TABLE_NAME WHERE USERID =' || '123';        EXECUTE IMMEDIATE sqlStr;        IF res >0 THEN            DBMS_OUTPUT.PUT_LINE(r.TABLE_NAME);        END IF;    END LOOP;END FindTable;
[解决办法]
这个是查询哪个表中存在'USERID'这个列,并且该列中有值123。

热点排行