मुझे PostgreSQL 9.1 में कई पंक्तियों में कई कॉलम अपडेट करना होगा।PostgreSQL में एक क्वेरी में विभिन्न प्राथमिक कुंजी के साथ एकाधिक पंक्तियों को अपडेट करना?
UPDATE mytable SET column_a = 12, column_b = 6 WHERE id = 1;
UPDATE mytable SET column_a = 1, column_b = 45 WHERE id = 2;
UPDATE mytable SET column_a = 56, column_b = 3 WHERE id = 3;
मैं इन प्रश्नों के कई हजारों क्या करना है: मैं वर्तमान में हर एक है कि एक अलग पंक्ति पर काम करता है (प्राथमिक कुंजी के आधार पर) कई अलग अलग UPDATE
प्रश्नों के साथ कर रहा हूँ,।
वहाँ वैसे भी है मैं यह कर सकते हैं "बहु-अपडेट" पंक्तियों की एक क्वेरी में PostgreSQL में बहुत सारे? यदि आप INSERT
का उपयोग कर रहे हैं, तो आप एक साथ कई पंक्तियां डाल सकते हैं: (INSERT INTO mytable (column_a, column_b) VALUES ((12, 6), (1, 45));
), क्या UPDATE
के लिए ऐसा कुछ है?
कुछ की तरह:
UPDATE mytable SET (id, column_a, column_b) FROM VALUES ((1, 12, 6), (2, 1, 45), (3, 56, 3), …)
??
महत्वपूर्ण बिंदुओं कि प्रत्येक 'VALUE' केवल एक पंक्ति (WHERE id =
के आधार पर) अपडेट कर देगा। प्रत्येक पंक्ति में वही, कॉलम की निश्चित संख्या होगी जो अद्यतन करने की आवश्यकता है, लेकिन प्रत्येक पंक्ति में प्रत्येक कॉलम के लिए अलग-अलग मान होंगे, इसलिए UPDATE mytable SET column_a = 12, column_b = 6 WHERE id IN (1, 2, 3);
काम नहीं करेगा।
यह दृष्टिकोण मेरे लिए बहुत अच्छा काम करता है !! धन्यवाद!! एकाधिक कुंजी/कॉलम पर शामिल होने के साथ भी काम करता है। यही है, "जहां c.id = m.id और c.column_a = m.column_a"; –