執行?alter?table?tablename?allocate?extent;?就可以導出了。

為隆堯等地區用戶提供了全套網頁設計制作服務,及隆堯網站建設行業解決方案。主營業務為成都網站制作、成都網站建設、外貿營銷網站建設、隆堯網站設計,以傳統方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業、用心的態度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
參考:
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,顯示的就是空表
之所以不能導出空表,是因為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://www.yijiale78.com/article24/hihpce.html
成都網站建設公司_創新互聯,為您提供營銷型網站建設、面包屑導航、標簽優化、搜索引擎優化、ChatGPT、域名注冊
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯