2011-05-05 9 views
8

मैं Oracle में एक वस्तु प्रकार बनाने के लिए (पी एल ??) निम्नलिखित कोड हैएसक्यूएल में # का महत्व क्या है?

CREATE OR REPLACE TYPE STAFF_T as OBJECT(Staff_ID# NUMBER, Person PERSON_T); \ 

मैं जानना चाहता हूँ # घोषणा में Staff_ID चर के साथ जोड़ दिया का महत्व क्या है करना चाहते हैं?

+0

कुछ लोग # संख्या "के लिए संक्षिप्त नाम के रूप में उपयोग करते हैं। जैसे 'पॉलिसी # 'को" पॉलिसी नंबर "घोषित किया जाएगा। आपके मामले में यह अनुमान है कि "कर्मचारी आईडी संख्या" होगी। –

उत्तर

2

जो कोई भी कोड लिखता है, उसका मतलब शायद # से विशेष नहीं है।

लेकिन # स्पष्ट रूप से ओरेकल के लिए कुछ मतलब है, हालांकि मुझे नहीं पता कि क्या। से SQL Language Reference:

ओरेकल दृढ़ता से nonquoted पहचानकर्ता में $ और # का उपयोग कर से आप हतोत्साहित करता है।

यहाँ के लिए कुछ अनुमान कर रहे हैं क्या चेतावनी के बारे में है:

  • यह एक बहुत पुरानी बग से संबंधित है
  • ओरेकल करने के लिए योजना बना रही है ( चेतावनी वापस कम से कम ओरेकल 7 को जाता है) के साथ कुछ भविष्य में verison
  • कि चरित्र सभी कीबोर्ड, चरित्र सेट या प्लेटफ़ॉर्म पर उपलब्ध नहीं है जो ओरेकल
  • का समर्थन करता है

डेटा डिक्शनरी संख्या साइन का उपयोग करता है, और जहां तक ​​मैं कह सकता हूं कि यह उपयोगकर्ता ऑब्जेक्ट्स के लिए ठीक काम करता है। लेकिन बस सुरक्षित होने के लिए आप इसे हटाना चाहते हैं।

+1

मुझे संदेह है कि यह एक पुरानी बग है, क्योंकि ओरेकल के डेटा डिक्शनरी के बहुत सारे उनका उपयोग करते हैं। उदाहरण के लिए वी $ सत्र में SERIAL # कॉलम। – APC

+1

मुझे विश्वास है कि यह संगतता कारणों के लिए है। उदाहरण के लिए, '#' 'MySQL' में एक टिप्पणी है। – Quassnoi

10

कोई विशेष अर्थ नहीं।

ओरेकल $, _ और पहचानकर्ता में #, किसी भी अन्य अक्षरांकीय अक्षर की तरह का उपयोग कर देता है, लेकिन पहचानकर्ता एक अल्फा चरित्र (एक पत्र) के साथ शुरू करना चाहिए।

3

यह कॉलम नाम Staff_ID# का हिस्सा है। पाउंड साइन पीएल/एसक्यूएल में एक पहचानकर्ता (तालिका/कॉलम नाम) का एक स्वीकार्य हिस्सा है। here

संबंधित मुद्दे