2012-03-01 27 views
9

मैं एक का चयन करें * बयान से सभी स्तंभों के साथ RowID प्रदर्शित करने के लिए कोशिश कर रहा हूँ चयन में RowID दिखाना।* (सभी) वक्तव्य

मैं टॉड के साथ ओरेकल उपयोग कर रहा हूँ एसक्यूएल बयान को चलाने के लिए।

मेरे पास दो टेबल हैं जिन्हें मुझे तुलना करने की आवश्यकता है, लेकिन मेरे पास तुलना के लिए दो तालिकाओं को सॉर्ट करते समय उपयोग करने के लिए कोई अद्वितीय पहचानकर्ता नहीं है। तो मैंने सोचा कि तुलना करने के लिए दो तालिकाओं को क्रमबद्ध करने के लिए रोविड का उपयोग करने से मदद मिल सकती है।

वहाँ एक का चयन करें * बयान के RowID जोड़ने के लिए एक तरीका है? मैं सभी कॉलम नाम नहीं जोड़ सकता क्योंकि उनमें से 50 से अधिक हैं। मैं इसे टेबल के कई सेटों पर करूँगा जहां कॉलम की संख्या और नाम अलग-अलग होंगे।

कोई मदद या विचारों यह चारों ओर बहुत सराहना की जाएगी।

अग्रिम धन्यवाद,

मरवन

+0

ROWIDTOCHAR को एक पंक्ति प्रदर्शित करने के लिए उपयोग किया जा सकता है।

से ROWIDTOCHAR (पंक्तिबद्ध) का चयन करें; –

+0

@ एसपी। - 'ROWID' प्रदर्शित करते समय 'ROWIDTOCHAR' का उपयोग करने का कोई फायदा है? –

+0

यह मदद करता है क्योंकि यह इसे VARCHAR2 प्रकार में परिवर्तित करता है। यदि आप से ROWIDTOCHAR (ROWID) जैसे '% %' से इस चयन की तरह कुछ करना चाहते हैं; –

उत्तर

24

आप की तरह

SELECT rowid, a.* 
    FROM table_name a 

कुछ कर सकते हैं लेकिन मुझे यकीन है कि वास्तव में आपकी मदद करने के लिए जा रहा है नहीं कर रहा हूँ। ROWID पर डेटा को सॉर्ट करना विशेष रूप से उपयोगी नहीं होगा क्योंकि यह डिस्क पर केवल एक भौतिक स्थान है। यह डेटा को बिना छेड़छाड़ के रूप में मनमाना है।

+0

धन्यवाद। मैं कोशिश करूँगा। मैं इस धारणा के तहत था कि अनुक्रमिक क्रम में 'ROWID' उत्पन्न होता है। स्पष्टीकरण देने के लिए धन्यवाद। –

+6

@ मारवान - यह निश्चित रूप से अनुक्रमिक होने की गारंटी नहीं है। छोटी सारणी के लिए जो केवल एक बार लोड हो जाते हैं और कभी संशोधित नहीं होते हैं, यह अनुक्रमिक प्रतीत होता है लेकिन उस पर भरोसा नहीं किया जाना चाहिए। –

+0

यह जानना अच्छा है। मेरे लिए यह स्पष्ट करने के लिए समय निकालने के लिए धन्यवाद।मैं छोटी टेबल के साथ काम कर रहा हूं, लेकिन यदि वे बड़े हो जाते हैं तो मुझे यह पता लगाना होगा कि 'ROWID' मेरे लिए काम करना बंद कर देता है तो मैं और क्या कर सकता हूं। एक बार फिर धन्यवाद। –