MSSQL不知道
創(chuàng)新互聯(lián)-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比吳忠網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式吳忠網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋吳忠地區(qū)。費(fèi)用合理售后完善,十余年實(shí)體公司更值得信賴(lài)。
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,顯示的就是空表
這是我在sybase數(shù)據(jù)庫(kù)下的操作,供參考
1.選建一個(gè)表。
create TABLE D
(NO INT NULL,
NAME CHAR(20) NULL)
2.將庫(kù)中所有表中的內(nèi)容和表名做一個(gè)插入腳本。
select '
INSERT D
select count(*), "' +name+'" from '+name from sysobjects
where type ='U'
order by name
3. 將查詢(xún)結(jié)果新建一頁(yè)執(zhí)行
4.無(wú)記錄的表
SELECT * FROM D
WHERE NO=0
order by NAME
--OVER!
創(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
查詢(xún)結(jié)果:
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='所屬表空間'
即可。
先分析表
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的表信息.
oracle
怎么判斷數(shù)據(jù)為空
需要確定具體是某個(gè)字段為空,還是為:'
'
這樣的格式。如果是確實(shí)為空,那用is
null
就可以查出來(lái),如果是后面的就需要用like
字段名
like
'%
%'