Oracle PL/SQL डेटा प्रकार: बूलियन, संख्या, दिनांक [उदाहरण]
PL/SQL डेटाटाइप्स क्या है?
जानकारी का प्रकार PL/SQL में यह परिभाषित करने के लिए उपयोग किया जाता है कि डेटा को कैसे संग्रहीत, संभाला और व्यवहार किया जाएगा Oracle डेटा भंडारण और प्रसंस्करण के दौरान। डेटा प्रकार विशिष्ट भंडारण प्रारूप और सीमा बाधाओं से जुड़े होते हैं। Oracleप्रत्येक मान या स्थिरांक को एक डेटा प्रकार निर्दिष्ट किया जाता है।
PL/SQL और के बीच मुख्य अंतर एसक्यूएल डेटा प्रकारों में, SQL डेटा प्रकार तालिका कॉलम तक सीमित हैं जबकि PL/SQL डेटा प्रकारों का उपयोग किया जाता है PL/SQL ब्लॉकइस पर आगे ट्यूटोरियल में विस्तार से चर्चा की जाएगी।
निम्नलिखित विभिन्न प्रकार के आरेख हैं Oracle PL/SQL डेटा प्रकार:

PL/SQL कैरेक्टर डेटा प्रकार
यह डेटा प्रकार मूलतः अल्फ़ान्यूमेरिक वर्णों को स्ट्रिंग प्रारूप में संग्रहीत करता है।
CHARACTER डेटा प्रकार को निर्दिष्ट करते समय शाब्दिक मानों को हमेशा एकल उद्धरण चिह्नों में रखा जाना चाहिए।
इस वर्ण डेटा प्रकार को आगे निम्नानुसार वर्गीकृत किया गया है:
- CHAR डेटा प्रकार (निश्चित स्ट्रिंग आकार)
- VARCHAR2 डेटा प्रकार (परिवर्तनीय स्ट्रिंग आकार)
- VARCHAR डेटा प्रकार
- NCHAR (मूल निश्चित स्ट्रिंग आकार)
- NVARCHAR2 (मूल चर स्ट्रिंग आकार)
- लंबा और लंबा कच्चा
डाटा प्रकार | विवरण | वाक्य - विन्यास |
---|---|---|
CHAR | यह डेटा प्रकार स्ट्रिंग मान संग्रहीत करता है, और स्ट्रिंग का आकार घोषित करते समय तय किया जाता है परिवर्तनशील.
|
grade CHAR; manager CHAR (10):= 'guru99'; वाक्यविन्यास स्पष्टीकरण:
|
वचर२ | यह डेटा प्रकार स्ट्रिंग को संग्रहीत करता है, लेकिन स्ट्रिंग की लंबाई निश्चित नहीं होती है।
|
manager VARCHAR2(10) := ‘guru99'; वाक्यविन्यास स्पष्टीकरण:
|
VARCHAR | यह VARCHAR2 डेटा प्रकार का पर्याय है।
|
manager VARCHAR(10) := ‘guru99'; वाक्यविन्यास स्पष्टीकरण:
|
एनसीएचएआर | यह डेटा प्रकार CHAR डेटा प्रकार के समान है, लेकिन वर्ण सेट राष्ट्रीय वर्ण सेट का होगा।
|
native NCHAR(10); वाक्यविन्यास स्पष्टीकरण:
|
एनवीएआरसीएचएआर2 |
यह डेटा प्रकार VARCHAR2 डेटा प्रकार के समान है, लेकिन वर्ण सेट राष्ट्रीय वर्ण सेट का होगा।
|
Native var NVARCHAR2(10):='guru99'; वाक्यविन्यास स्पष्टीकरण:
|
लॉन्ग और लॉन्ग्रा | इस डेटा प्रकार का उपयोग बड़े पाठ या कच्चे डेटा को अधिकतम 2GB आकार तक संग्रहीत करने के लिए किया जाता है।
|
Large_text LONG; Large_raw LONG RAW; वाक्यविन्यास स्पष्टीकरण:
नोट: LONG डेटा प्रकार का उपयोग करने की अनुशंसा नहीं की जाती है Oracleइसके बजाय, LOB डेटा प्रकार को प्राथमिकता दी जानी चाहिए। |
PL/SQL NUMBER डेटा प्रकार
यह डेटा प्रकार 38 अंकों तक की सटीकता के साथ निश्चित या फ़्लोटिंग पॉइंट संख्याएँ संग्रहीत करता है। इस डेटा प्रकार का उपयोग उन फ़ील्ड के साथ काम करने के लिए किया जाता है जिनमें केवल संख्या डेटा होगा। चर को सटीकता और दशमलव अंक विवरण के साथ या इस जानकारी के बिना घोषित किया जा सकता है। इस डेटा प्रकार के लिए असाइन करते समय मानों को उद्धरण चिह्नों में संलग्न करने की आवश्यकता नहीं है।
A NUMBER(8,2); B NUMBER(8); C NUMBER;
वाक्यविन्यास स्पष्टीकरण:
- उपरोक्त में, प्रथम घोषणा यह घोषित करती है कि चर 'A' संख्या डेटा प्रकार का है, जिसकी कुल परिशुद्धता 8 तथा दशमलव अंक 2 है।
- दूसरी घोषणा में घोषित किया गया है कि चर 'B' संख्या डेटा प्रकार का है, जिसकी कुल परिशुद्धता 8 है तथा कोई दशमलव अंक नहीं है।
- तीसरी घोषणा सबसे सामान्य है, यह घोषणा करती है कि चर 'C' संख्या डेटा प्रकार का है, जिसमें परिशुद्धता या दशमलव स्थानों में कोई प्रतिबंध नहीं है। यह अधिकतम 38 अंक तक ले सकता है।
PL/SQL बूलियन डेटा प्रकार
यह डेटा प्रकार तार्किक मानों को संग्रहीत करता है। Oracle बूलियन डेटा टाइप या तो TRUE या FALSE को दर्शाता है और मुख्य रूप से सशर्त कथनों में उपयोग किया जाता है। इस डेटा टाइप के लिए मान निर्दिष्ट करते समय उद्धरण चिह्नों में संलग्न करने की आवश्यकता नहीं होती है।
Var1 BOOLEAN;
वाक्यविन्यास स्पष्टीकरण:
- उपरोक्त में, चर 'Var1' को BOOLEAN डेटा प्रकार के रूप में घोषित किया गया है। कोड का आउटपुट शर्त सेट के आधार पर सत्य या असत्य होगा।
PL/SQL DATE डेटा प्रकार
यह डेटा प्रकार मानों को दिनांक प्रारूप में संग्रहीत करता है, जैसे दिनांक, महीना और वर्ष। जब भी किसी चर को दिनांक के साथ DATE डेटा प्रकार के साथ परिभाषित किया जाता है, तो वह समय की जानकारी रख सकता है और डिफ़ॉल्ट रूप से समय की जानकारी 12:00:00 पर सेट की जाती है यदि निर्दिष्ट नहीं है। इस डेटा प्रकार के लिए मान निर्दिष्ट करते समय उद्धरण चिह्नों के भीतर संलग्न करने की आवश्यकता होती है।
मानक Oracle इनपुट और आउटपुट के लिए समय प्रारूप 'DD-MON-YY' है और इसे पुनः सत्र स्तर पर NLS_PARAMETERS (NLS_DATE_FORMAT) पर सेट किया गया है।
newyear DATE:='01-JAN-2015'; current_date DATE:=SYSDATE;
वाक्यविन्यास स्पष्टीकरण:
- उपरोक्त में, चर 'newyear' को DATE डेटा प्रकार के रूप में घोषित किया गया है और इसका मान 1 जनवरी निर्धारित किया गया हैst, 2015 तारीख.
- दूसरा घोषणापत्र current_date चर को DATE डेटा प्रकार के रूप में घोषित करता है तथा मान को वर्तमान सिस्टम दिनांक के साथ निर्दिष्ट करता है।
- ये दोनों चर समय की जानकारी रखते हैं।
PL/SQL LOB डेटा प्रकार
इस डेटा प्रकार का उपयोग मुख्य रूप से असंरचित डेटा के बड़े ब्लॉकों जैसे छवियों, मल्टीमीडिया फ़ाइलों आदि को संग्रहीत करने और हेरफेर करने के लिए किया जाता है। Oracle LONG डेटा टाइप की बजाय LOB को प्राथमिकता दी जाती है क्योंकि यह LONG डेटा टाइप की तुलना में अधिक लचीला है। नीचे LONG डेटा टाइप की तुलना में LOB के कुछ मुख्य लाभ दिए गए हैं।
- LONG डेटा प्रकार वाली तालिका में स्तंभों की संख्या 1 तक सीमित होती है, जबकि LOB डेटा प्रकार वाली तालिका में स्तंभों की संख्या पर कोई प्रतिबंध नहीं होता है।
- डेटा इंटरफ़ेस टूल डेटा प्रतिकृति के दौरान तालिका के LOB डेटा प्रकार को स्वीकार करता है, लेकिन यह तालिका के LONG कॉलम को छोड़ देता है। इन LONG कॉलम को मैन्युअल रूप से प्रतिकृति करने की आवश्यकता है।
- LONG कॉलम का आकार 2GB है, जबकि LOB 128 TB तक स्टोर कर सकता है।
- Oracle आधुनिक आवश्यकता के अनुसार अपने प्रत्येक रिलीज में LOB डेटा प्रकार में लगातार सुधार कर रहा है, जबकि LONG डेटा प्रकार स्थिर है और इसे कई अपडेट नहीं मिल रहे हैं।
इसलिए, LONG डेटा टाइप के बजाय LOB डेटा टाइप का उपयोग करना हमेशा अच्छा होता है। निम्नलिखित विभिन्न LOB डेटा प्रकार हैं। वे 128 टेराबाइट्स के आकार तक स्टोर कर सकते हैं।
- ब्लॉब
- सीएलओबी और एनसीएलओबी
- बीफाइल
डाटा प्रकार | विवरण | वाक्य - विन्यास |
---|---|---|
ब्लॉब | यह डेटा प्रकार LOB डेटा को बाइनरी फ़ाइल फ़ॉर्मेट में 128 TB के अधिकतम आकार तक संग्रहीत करता है। यह वर्ण सेट विवरण के आधार पर डेटा संग्रहीत नहीं करता है, ताकि यह मल्टीमीडिया ऑब्जेक्ट, छवियाँ आदि जैसे असंरचित डेटा को संग्रहीत कर सके। |
Binary_data BLOB; वाक्यविन्यास स्पष्टीकरण:
|
सीएलओबी और एनसीएलओबी | CLOB डेटा प्रकार LOB डेटा को कैरेक्टर सेट में संग्रहीत करता है, जबकि NCLOB डेटा को मूल कैरेक्टर सेट में संग्रहीत करता है। चूँकि ये डेटा प्रकार कैरेक्टर सेट आधारित स्टोरेज का उपयोग करते हैं, इसलिए ये मल्टीमीडिया, इमेज आदि जैसे डेटा को संग्रहीत नहीं कर सकते हैं जिन्हें कैरेक्टर स्ट्रिंग में नहीं रखा जा सकता है। इन डेटा प्रकारों का अधिकतम आकार 128 TB है। |
Charac_data CLOB; वाक्यविन्यास स्पष्टीकरण:
|
बीफाइल |
|
सारांश
हमने विभिन्न सरल डेटा प्रकारों को कवर किया है जो उपलब्ध हैं PL / SQL उनके सिंटैक्स के साथ। हम आगे के विषयों में जटिल डेटा प्रकारों के बारे में जानेंगे।