आप चाहते हैं 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)
के साथ लेकिन संदर्भ के बिना यह जानना मुश्किल है कि क्या यह सही है। वह कथन अपरिवर्तनीय रूप से जानकारी को दूर फेंक देता है इसलिए इसका उपयोग केवल डेटा की एक प्रति पर किया जाना चाहिए।