2012-07-13 16 views
15

ओरेकल में, मैं बैकअप से डेटा को एक नई तालिका में कॉपी करता हूं, यह काम नहीं करता है।ओरेकल कॉपी डेटा किसी अन्य तालिका में

सही वाक्यविन्यास क्या है?

धन्यवाद

select CODE, MESSAGE into EXCEPTION_CODES (CODE, MESSAGE) 
from Exception_code_tmp 

त्रुटि

**SQL Error: ORA-00905: missing keyword 
00905. 00000 - "missing keyword"** 

उत्तर

31

आप एक INSERT ... SELECT

INSERT INTO exception_codes(code, message) 
    SELECT code, message 
    FROM exception_code_tmp 
4
insert into EXCEPTION_CODES (CODE, MESSAGE) 
select CODE, MESSAGE from Exception_code_tmp 
+1

धन्यवाद। क्या हमारे पास ओरेकल में "चयन करें .." है? – user595234

+1

ऐसा लगता है कि [इस पोस्ट] के अनुसार ऐसा नहीं लगता है (http://stackoverflow.com/questions/2250196/select-into-using-oracle) –

22

जरूरत है आप डेटा के साथ तालिका बनाने के लिए चाहते हैं है। सबसे पहले तालिका बनाने:

create table new_table as (select * from old_table); 

और फिर सम्मिलित

insert into new_table (select * from old_table); 

आप डेटा के बिना तालिका बनाने के लिए चाहते हैं। आप उपयोग कर सकते हैं:

create table new_table as (select * from old_table where 1=0); 
+9

'डालने की तालिका' बनाने के बाद से 'डालने में' अनावश्यक है तालिका और सभी डेटा डालें। – thoredge

7

एक तालिका का निर्माण और एक ही आदेश में डेटा की प्रतिलिपि:

create table T_NEW as 
    select * from T; 

* यह होगा नहीं प्रतिलिपि पीकेएस, FKS, ट्रिगर, आदि

+0

तालिका पर बाधाओं की प्रतिलिपि बनाता है, जैसे शून्य नहीं। धन्यवाद :) – Shiva

संबंधित मुद्दे

 संबंधित मुद्दे