PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

अस्थायी तालिका में एक नया कॉलम जोड़ना

आप चाहते हैं ALTER TABLE ... COLUMN जोड़ें उसके बाद एक अपडेट करें

मैंने शुरू में कहा था ALTER TABLE ... ADD COLUMN ... USING लेकिन वह दो मामलों में गलत था। कॉलम जोड़ें एक डिफॉल्ट लेता है नहीं उपयोग - और आप इसे एक पास में नहीं कर सकते क्योंकि न तो कोई DEFAULT अभिव्यक्ति और न ही उपयोग अभिव्यक्ति अन्य स्तंभों को संदर्भित नहीं कर सकती है।

तो आपको यह करना होगा:

 ALTER TABLE tablename ADD COLUMN colname varchar;
 UPDATE tablename SET colname = ( CASE WHEN othercol < 0 THEN 'Credit' ELSE 'Debit' END );

इस बारे में ध्यान से सोचें कि क्या शून्य 'डेबिट' या 'क्रेडिट' होना चाहिए और CASE को समायोजित करें तदनुसार।

राउंडिंग के लिए, round(amount,2) . मेरे लिए यह सुनिश्चित करने के लिए आपके प्रश्न में पर्याप्त विवरण नहीं है कि कैसे; संभवत:अद्यतन . तक अस्थायी तालिका में अद्यतन तालिका सेट राशि =राउंड (राशि, 2) के साथ लेकिन संदर्भ के बिना यह जानना मुश्किल है कि क्या यह सही है। वह कथन अपरिवर्तनीय रूप से जानकारी को दूर फेंक देता है इसलिए इसका उपयोग केवल डेटा की एक प्रति पर किया जाना चाहिए।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. विभिन्न डेटाबेस से तालिकाओं में शामिल हों (PostgreSQL)

  2. PostgreSQL त्रुटि:पुनर्प्राप्ति के साथ विरोध के कारण कथन रद्द करना

  3. स्कीमा में पोस्टग्रेस्क्ल अनुक्रम नेक्स्टवल

  4. PostgreSQL:यह क्वेरी मेरी अनुक्रमणिका का उपयोग क्यों नहीं कर रही है?

  5. पोस्टग्रेज:जावा से कस्टम प्रकारों को पोस्टग्रेज फंक्शन में पास करना