oracle空表怎么处理 oracle删除空表

为什么oracle有的空表导不出来

执行 alter table tablename allocate extent; 就可以导出了。

为隆尧等地区用户提供了全套网页设计制作服务,及隆尧网站建设行业解决方案。主营业务为成都网站制作、成都网站建设、外贸营销网站建设、隆尧网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

参考:

ORACLE查询空表

MSSQL不知道

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,显示的就是空表

如何在oracle11g中导出空表

之所以不能导出空表,是因为Oracle默认不会为空表分配segment,应对方法有三个

1、把deferred_segment_creation这个参数设置为false,这样新创建任何表都会自动分配segment,这样用逻辑导出就可以导出空表了,但是注意,在更改这个设置之前的空表还是不会分配segment的

2、可以在创建表的时候就手动分配segment

sqlcreate table TEST (XXX xxx,YYY yyy) segment creation immediate;

3、对于已经存在的空表,可以

sqlalter table TEST allocate extent;

希望能帮到题主!


分享文章:oracle空表怎么处理 oracle删除空表
文章路径:http://hbruida.cn/article/hihpce.html