先分析表
讓客戶(hù)滿(mǎn)意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、虛擬主機(jī)、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、平利網(wǎng)站維護(hù)、網(wǎng)站推廣。
select 'analyze table '||table_name||' compute statistics;' from user_tables;
把查詢(xún)結(jié)果依次執(zhí)行
把所有表分析一遍
然后user_tables中就會(huì)刷新表的信息
select * from user_tables where num_rows=0;
查出行數(shù)為0的表信息.
select * from all_all_tables
這是查詢(xún)Oracle中的所有的表,包括SYS用戶(hù)下的,你可以根據(jù)表空間和所屬用戶(hù)來(lái)限制查詢(xún)結(jié)果
where owenr='' and tablespacename=''
想要查出沒(méi)數(shù)據(jù)的話(huà),all_all_tables中有個(gè)num_rows字段,記錄該表數(shù)據(jù)是多少行的,rows=‘0’的肯定是沒(méi)數(shù)據(jù)的,
select * from all_all_tables
where num_rows='0'
and owenr='所屬用戶(hù)' and tablespacename='所屬表空間'
即可。
MSSQL不知道
oracle在plsql里執(zhí)行如下代碼:
DECLARE
v_table tabs.table_name%TYPE;
v_sql VARCHAR2(888);
v_q NUMBER;
CURSOR c1 IS
SELECT table_name tn FROM tabs;
TYPE c IS REF CURSOR;
c2 c;
BEGIN
DBMS_OUTPUT.PUT_LINE('以下為空數(shù)據(jù)表的表名:');
FOR r1 IN c1 LOOP
v_table :=r1.tn;
v_sql :='SELECT COUNT(*) q FROM '||v_table;
OPEN c2 FOR v_sql;
LOOP
FETCH c2 INTO v_q;
EXIT WHEN c2%NOTFOUND;
IF v_q=0 THEN
DBMS_OUTPUT.PUT_LINE(v_table);
END IF;
END LOOP;
CLOSE c2;
END LOOP;
EXCEPTION
WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('Error occurred');
END;
然后點(diǎn)output,顯示的就是空表
select 'select count(*) from ' ||table_name||';' from tabs;
把得到的sql語(yǔ)句拷貝出來(lái)執(zhí)行就行了
那你就寫(xiě)個(gè)存儲(chǔ)過(guò)程吧
把上邊那句定義成游標(biāo),然后挨個(gè)執(zhí)行
執(zhí)行的表名和count(*)插入到自己定義的表里,自己定義的表兩列就夠了,一個(gè)是table_name ,一列是count
可以查數(shù)據(jù)字典,select * from user_tables where num_rows=0。不過(guò)最好對(duì)table_name加一些限制避免行數(shù)過(guò)多。
網(wǎng)頁(yè)標(biāo)題:oracle如何查詢(xún)空表,oracle查詢(xún)某列為空的數(shù)據(jù)
文章鏈接:http://www.rwnh.cn/article2/dscogoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、網(wǎng)站導(dǎo)航、微信小程序、動(dòng)態(tài)網(wǎng)站、云服務(wù)器、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)