ROWID एक पंक्ति का भौतिक स्थान है। नतीजतन यह एक प्राथमिक कुंजी लुकअप से भी तेज, एक पंक्ति का पता लगाने का सबसे तेज़ तरीका है। तो यह कुछ प्रकार के लेन-देन में उपयोगी हो सकता है जहां हम कुछ पंक्तियों का चयन करते हैं, उनके ROWID को संग्रहीत करते हैं और फिर बाद में where
में ROWID का उपयोग करते हैं उन्हीं पंक्तियों के विरुद्ध DML के लिए खंड।
Oracle SELECT ... FOR UPDATE सिंटैक्स परोक्ष रूप से ROWID का उपयोग करता है, जब हम WHERE CURRENT OF का उपयोग करके लॉक की गई पंक्ति को अपडेट करते हैं। इसके अलावा अपवाद तालिका (संदर्भ में अपवाद के साथ बाधाओं को लागू करते समय संदर्भित) में एक कॉलम ROW_ID है। यह हमें उन पंक्तियों की शीघ्रता से पहचान करने की अनुमति देता है जो हमारी बाधा को तोड़ रही हैं।
वह बाद का उदाहरण एक और सामान्य उपयोग की ओर इशारा करता है:जब हम कुछ सामान्य कोड लिख रहे होते हैं और डेटा प्रकार, समग्र कुंजी आदि के बारे में चिंता किए बिना यूआईडी को संग्रहीत करने के लिए एक तंत्र की आवश्यकता होती है।
दूसरी ओर ROWNUM एक छद्म-स्तंभ है जो किसी दिए गए परिणाम सेट में एक पंक्ति को टैग करता है। इसका कोई स्थायी महत्व नहीं है।
संपादित करें
किसी दिए गए रिकॉर्ड के लिए ROWID एक सिस्टम के जीवनकाल में बदल सकता है, उदाहरण के लिए तालिका पुनर्निर्माण के माध्यम से। इसके अलावा यदि एक रिकॉर्ड हटा दिया जाता है तो एक नया रिकॉर्ड दिया जा सकता है जो कि ROWID है। नतीजतन, ROWID लंबी अवधि में UID के रूप में उपयोग के लिए उपयुक्त नहीं हैं। लेकिन वे लेन-देन में उपयोग के लिए पर्याप्त हैं।