2014-09-03 56 views

回答

1

您需要首先創建包含所有分區的新表,您無法將分區定義添加到CTAS。一旦創建了表格,您可以使用insert into .. select來填充它。您可以使用dbms_metadata.get_ddl來獲取舊錶的定義。

select dbms_metadata.get_ddl('TABLE', 'NAME_OF_EXISTING_TABLE') 
from dual; 

的,輸出保存到一個腳本,做一個搜索和替換調整表名,然後運行create table然後運行insert into ... select ...

+0

嗨當​​我在谷歌衝浪,我碰到下面解決方案,但它並沒有爲我工作,也有人說,它的工作對他們來說, 查詢: /** CREATE TABLE SUN_PART_EMP PARTITION BY散列(DEPTNO)分區2 AS SELECT * FROM EMP; **/ 我不明白分區,即分區的第二次出現的含義2 如果你瞭解請解釋 鏈接:https://community.oracle.com/thread/616443?start=0&tstart= 0 – Shriraj 2014-09-03 09:41:56

+0

@shriraj第一部分解釋分區方案,第二部分講述要創建多少分區 – Sathya 2014-09-03 10:04:16

+0

嗨Satya, 我的舊錶EMP有兩列col_1,col_2。 col_1上的分區和coll_2上的子分區。這是否也會在SUN_PART_EMP表上創建?用上面的代碼? – Shriraj 2014-09-03 12:18:12

相關問題