新聞中心
這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
oracle查詢所有表的方法
oracle查詢所有表和所有數(shù)據(jù)的方法可能許多剛剛接觸oracle數(shù)據(jù)庫(kù)的新人都不太了解,下面就為您詳細(xì)介紹oracle查詢所有表的方法,供您參考。

為容縣等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及容縣網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、容縣網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
- SELECT t.data_type
- FROM user_tab_columns t
- GROUP BY t.data_type;
- -- Created on 2010-8-26 by RONGZHI_LI
- DECLARE
- CURSOR ot(namelike IN VARCHAR2)
- IS
- (SELECT owner AS uname,
- object_name AS tname
- FROM all_objects
- WHERE object_type='TABLE'
- AND owner LIKE namelike
- );
- CURSOR tc( username IN all_tab_columns.owner%TYPE, tablename IN all_tab_columns.table_name%type)
- IS
- (SELECT t.OWNER AS uname,
- t.table_name AS tab,
- t.column_name AS col,
- t.data_type data
- FROM all_tab_columns t
- WHERE t.owner = username
- AND t.table_name = tablename
- );
- sqlstr VARCHAR2(200);
- findsqlstr VARCHAR2(200);
- foundcount NUMBER;
- data_type VARCHAR2(100):='';
- logic_symbol VARCHAR2(10) :='=';
- data_value VARCHAR2(100);
- --自行設(shè)定
- name_like VARCHAR2(100):='%HS_%';
- find_type VARCHAR2(100):='varchar2';--'varchar2';number
- find_value VARCHAR2(100):='工行';
- use_like BOOLEAN :=true;
- BEGIN
- data_type := upper(find_type);
- data_value :=find_value;--先給默認(rèn)值
--1.判斷類型,是否為字符串
- IF data_type = 'VARCHAR2' THEN -- 對(duì)于字符串特別判定
- data_value := ''''||find_value||'''';--注意:pl/sql顯示' '為''
- END IF;
--2.判斷是否使用like 這個(gè)應(yīng)該跟varchar2類型配合
- IF use_like THEN
- logic_symbol:=' like ';
- data_value := '''%'||find_value||'%''';--注意:pl/sql顯示' '為''
- END IF;
- --
- FOR aot IN ot(name_like)
- LOOP
- FOR atc IN tc(aot.uname,aot.tname)
- LOOP
- foundcount :=0;
- IF atc.DATA = data_type THEN
- sqlstr := 'select count(*) from '|| atc.uname ||'.' || atc.tab || ' where ' || atc.col
- || logic_symbol || data_value;
- --dbms_output.put_line(sqlstr);--debug用
- EXECUTE immediate sqlstr INTO foundcount;
- IF foundcount > 0 THEN
- findsqlstr := 'select * from ' || atc.uname ||'.' || atc.tab || ' where ' || atc.col ||
- logic_symbol || data_value||';--'||foundcount;
- dbms_output.put_line(findsqlstr);
- END IF;
- END IF;
- END LOOP;
- END LOOP;
- dbms_output.put_line('查找結(jié)束');
- END;
以上就是oracle查詢所有表的方法介紹。
文章題目:oracle查詢所有表的方法
文章轉(zhuǎn)載:http://fisionsoft.com.cn/article/dhshdpi.html


咨詢
建站咨詢
