读书人

oracle 怎么从某种特定格式的数据找到

发布时间: 2012-09-08 10:48:07 作者: rapoo

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。

读书人网 >oracle

热点推荐