MSSQL不知道
创新互联-专业网站定制、快速模板网站建设、高性价比吴忠网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式吴忠网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖吴忠地区。费用合理售后完善,十余年实体公司更值得信赖。
oracle在plsql里执行如下代码:
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('以下为空数据表的表名:');
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;
然后点output,显示的就是空表
这是我在sybase数据库下的操作,供参考
1.选建一个表。
create TABLE D
(NO INT NULL,
NAME CHAR(20) NULL)
2.将库中所有表中的内容和表名做一个插入脚本。
select '
INSERT D
select count(*), "' +name+'" from '+name from sysobjects
where type ='U'
order by name
3. 将查询结果新建一页执行
4.无记录的表
SELECT * FROM D
WHERE NO=0
order by NAME
--OVER!
创建表,插入数据
create table 学生表
(id int,
name varchar2(10));
insert into 学生表 values (1,'张三');
insert into 学生表 values (2,'李四');
insert into 学生表 values (3,'王五');
commit;
执行:
with t as
(select rownum id from dual connect by rownum=5)
select t.id,学生表.name from t left join 学生表 on t.id=学生表.id and 学生表.id between 1 and 3 order by t.id
查询结果:
select * from all_all_tables
这是查询Oracle中的所有的表,包括SYS用户下的,你可以根据表空间和所属用户来限制查询结果
where owenr='' and tablespacename=''
想要查出没数据的话,all_all_tables中有个num_rows字段,记录该表数据是多少行的,rows=‘0’的肯定是没数据的,
select * from all_all_tables
where num_rows='0'
and owenr='所属用户' and tablespacename='所属表空间'
即可。
先分析表
select 'analyze table '||table_name||' compute statistics;' from user_tables;
把查询结果依次执行
把所有表分析一遍
然后user_tables中就会刷新表的信息
select * from user_tables where num_rows=0;
查出行数为0的表信息.
oracle
怎么判断数据为空
需要确定具体是某个字段为空,还是为:'
'
这样的格式。如果是确实为空,那用is
null
就可以查出来,如果是后面的就需要用like
字段名
like
'%
%'