में संख्यात्मक कॉलम की सटीकता बदलना वर्तमान में मेरे पास एक स्तंभ है जिसे NUMBER के रूप में घोषित किया गया है। मैं कॉलम की परिशुद्धता को NUMBER (14,2) में बदलना चाहता हूं।ओरेकल
तो, मैं जिसके लिए
alter table EVAPP_FEES modify AMOUNT NUMBER(14,2)'
आदेश भाग गया, मैं एक त्रुटि मिली:
column to be modified must be empty to decrease precision or scale
मैं इसे, जबकि यह परिशुद्धता बदलता है और मैं डॉन स्तंभ रिक्त होना चाहता है अनुमान लगा रहा हूँ यह नहीं पता कि यह क्यों कहता है कि हम इसे कम करना चाहते हैं, जबकि हम इसे बढ़ा रहे हैं, कॉलम में डेटा खोया नहीं जा सकता है। क्या इसके लिए कोई छोटा कामकाज है? मैं इसे किसी अन्य तालिका में कॉपी नहीं करना चाहता हूं और इसे बाद में छोड़ना चाहता हूं, या कॉलम का नाम बदल सकता हूं और कॉलम के बीच कॉपी कर सकता हूं, क्योंकि स्थानान्तरण और बूंदों के बीच डेटा खोने का जोखिम होता है।
इन समाधानों के बीच क्या अंतर है? – BrownFurSeal
@ ब्रौनफुरसेल: पहला समाधान बदले गए कॉलम को ले जाएगा, ताकि यह तालिका में अंतिम कॉलम बन जाए। दूसरा समाधान कॉलम के मूल क्रम को सुरक्षित रखेगा। – Allan
पहली विधि कॉलम को नष्ट कर देती है (यदि स्तंभ कहीं भी उपयोग किया जाता है तो समस्याएं पैदा हो सकती हैं)। दूसरी विधि गैर-विनाशकारी है लेकिन कॉलम को निरर्थक होने की आवश्यकता है। यदि यह गैर-शून्य है, तो इसे कम करने के लिए आपको कमांड जोड़ने की आवश्यकता होगी, फिर परिवर्तन के बाद इसे गैर-शून्य करने के लिए पुनर्स्थापित करें। – ADTC