MSSQL不知道
創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供蜀山網(wǎng)站建設(shè)、蜀山做網(wǎng)站、蜀山網(wǎng)站設(shè)計(jì)、蜀山網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、蜀山企業(yè)網(wǎng)站模板建站服務(wù),十多年蜀山做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
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 'analyze table '||table_name||' compute statistics;' from user_tables;
把查詢結(jié)果依次執(zhí)行
把所有表分析一遍
然后user_tables中就會(huì)刷新表的信息
select * from user_tables where num_rows=0;
查出行數(shù)為0的表信息.
可以查數(shù)據(jù)字典,select * from user_tables where num_rows=0。不過(guò)最好對(duì)table_name加一些限制避免行數(shù)過(guò)多。
select * from all_all_tables
這是查詢Oracle中的所有的表,包括SYS用戶下的,你可以根據(jù)表空間和所屬用戶來(lái)限制查詢結(jié)果
where owenr='' and tablespacename=''
想要查出沒(méi)數(shù)據(jù)的話,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='所屬用戶' and tablespacename='所屬表空間'
即可。
創(chuàng)建表,插入數(shù)據(jù)
create?table?學(xué)生表
(id?int,
name?varchar2(10));
insert?into?學(xué)生表?values?(1,'張三');
insert?into?學(xué)生表?values?(2,'李四');
insert?into?學(xué)生表?values?(3,'王五');
commit;
執(zhí)行:
with?t?as
(select?rownum?id?from?dual?connect?by?rownum=5)
select?t.id,學(xué)生表.name?from?t?left?join?學(xué)生表?on?t.id=學(xué)生表.id?and?學(xué)生表.id?between?1?and?3?order?by?t.id
查詢結(jié)果: