2010-11-11 8 views
5

क्या एक तालिका में एक से अधिक पंक्ति एक सम्मिलित कथन के साथ सम्मिलित करना संभव है? मैं जानता हूँ कि अगर मैं ऐसा नहीं होगा:एक डालने की कमांड के साथ एकाधिक पंक्तियों को सम्मिलित करना

insert into table (fields) select values from another_table 

लेकिन क्या होगा अगर मैं सम्मिलित करना चाहते हैं:

row 1 - (a1, b1, c1) 
row 2 - (a2, b2, c2) 
... 
row n - (an, bn, cn) 

सिर्फ एक डालने कमांड के साथ?

उत्तर

7

दो समाधान (स्रोत: http://appsfr.free.fr/spip.php?article21):

INSERT ALL 
INTO table (column1, column2) 
VALUES (value1, value2) 
INTO table (column1, column2) 
VALUES (value1, value2) 
...etc... 
SELECT * FROM DUAL ; 

या

INSERT INTO table (column1, column2) 
SELECT value1, value2 FROM DUAL UNION ALL 
SELECT value1, value2 FROM DUAL UNION ALL 
...etc... 
SELECT value1, value2 FROM DUAL ; 
-5

नहीं, यह संभव नहीं है। जैसा कि आपने पहले ही कहा है, यह केवल एक चुनिंदा खंड है जिसमें सम्मिलित मूल्य और पंक्तियां उपलब्ध हैं।

+0

यह निश्चित रूप से संभव है। – rwilliams

+0

किसी अन्य दिए गए स्वीकार्य उत्तर को पढ़ने के बाद कम से कम, अब आप निश्चित रूप से जानते हैं कि यह संभव है। –

5

Insert All

INSERT ALL 
    INTO mytable (column1, column2, column3) VALUES ('val1.1', 'val1.2', 'val1.3') 
    INTO mytable (column1, column2, column3) VALUES ('val2.1', 'val2.2', 'val2.3') 
    INTO mytable (column1, column2, column3) VALUES ('val3.1', 'val3.2', 'val3.3') 
SELECT * FROM dual; 
4
INSERT INTO products (product_no, name, price) VALUES 
    (1, 'Cheese', 9.99), 
    (2, 'Bread', 1.99), 
    (3, 'Milk', 2.99); 
+0

प्रश्न ओरेकल के लिए है तो आप PostgreSQL उत्तर क्यों पोस्ट कर रहे हैं? – Taryn

+0

मैंने अपने जवाब में 'PostgreSQL' हटा दिया। आपकी जानकारी के लिए, यह मानक एसक्यूएल-9 2 है। –

+0

यह ओपी द्वारा आवश्यक ओरेकल में काम नहीं करेगा। –

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

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