2013-01-23 17 views
11

के लिए डिफ़ॉल्ट मान का पता लगाएं मुझे आश्चर्य है कि किसी साधारण चयन कथन के साथ कुछ कॉलम का डिफ़ॉल्ट मान जानने का कोई तरीका है या नहीं। कई चीजों की कोशिश की:कॉलम (ओरेकल)

SELECT * FROM all_tab_columns WHERE table_name = 'tablename' 

लेकिन मुझे वहां कॉलम के लिए डिफ़ॉल्ट बिंदु नहीं दिखाई दे रहा है। और नहीं, मैं कुछ भी एसक्यूएल प्लस की तरह उपयोग नहीं करना चाहता, मुझे एक चयन की ज़रूरत है, अनुमान है कि कुछ जानकारी उस जानकारी प्रदान कर रही है?

+6

डिफ़ॉल्ट मान स्तंभ '' की DATA_DEFFAULT' में संग्रहित है all_tab_columns' (जो ** है ** प्रलेखित: http://docs.oracle .com/cd/E11882_01/server.112/e25513/statviews_2103.htm # I1020277) –

+0

अच्छी तरह से उत्तर दिया। मैं स्टैक ओवरफ्लो के लिए बिल्कुल नया हूं, इसे उत्तर के बजाय टिप्पणी के रूप में क्यों जोड़ूं? –

+0

उस कॉलम में सभी कॉलम के लिए कहता है, जबकि वास्तविकता में उन कॉलमों में 0, 'HOST', '-', 3000, SYSDATE आदि जैसी डिफ़ॉल्ट अभिव्यक्ति होती है। मैं उन्हें अपने पीएल/एसक्यूएल डेवलपर में देख सकता हूं लेकिन चयन नहीं करता है मेरी मदद करो। – aLpenbog

उत्तर

3

नीचे दिए गए क्वेरी कोशिश

Select * From USER_TAB_COLUMNS where TABLE_NAME ='Table Name' 
9
Select TABLE_NAME, COLUMN_NAME, DATA_DEFAULT 
from DBA_TAB_COLUMNS 
where TABLE_NAME = 'TABLE_NAME'; 

TABLE_NAME बदलें जिसके लिए आप डिफ़ॉल्ट स्तंभ डेटा देखना चाहते हैं।

+0

''' 'के बजाय' like' का उपयोग करना बेहतर होगा क्योंकि TABLE_NAME, COLUMN_NAME, DATA_DEFAULT को DBA_TAB_COLUMNS से ​​चुनें जहां TABLE_NAME' % GI_LOCATION% ';' परिणाम प्राप्त करने की अधिक संभावना है। – korefn

+7

@korefn, नहीं, यदि आप नहीं जानते कि तालिका का नाम क्या है, तो आप LIKE का उपयोग कर सकते हैं; अन्यथा, '=' उचित है। –

-1

डिफ़ॉल्ट मान ALL_TAB_COLUMNS से ​​DATA_DEFAULT स्तंभ में कर रहे हैं:

SELECT TABLE_NAME, COLUMN_NAME, DATA_DEFAULT 
    FROM ALL_TAB_COLUMNS 
WHERE TABLE_NAME = 'tablename' 
+1

गलत दृश्य नाम? –

+0

ओप्स! तुम पूरी तरह ठीक हो! धन्यवाद! बस संपादन ... – helenov