बाहरी तालिकाएँ डेटाबेस के बाहर संग्रहीत फ़्लैट फ़ाइलों से डेटा प्राप्त करती हैं और Oracle® को उन फ़ाइलों में डेटा को क्वेरी करने की अनुमति देती हैं।
परिचय
Oracle SQL*Loader द्वारा समर्थित किसी भी फ़ाइल स्वरूप को पार्स कर सकता है। आप बाहरी तालिकाओं पर डेटामैनिपुलेशन भाषा (डीएमएल) का उपयोग नहीं कर सकते हैं, लेकिन आप डीएमएल का उपयोग क्वेरी, जॉइन और सॉर्ट ऑपरेशंस के लिए कर सकते हैं। आप बाहरी तालिकाओं के विरुद्ध दृश्य और समानार्थक शब्द भी बना सकते हैं।
बाहरी तालिका सुविधा का लाभ उठाने के लिए, आपको ORACLE_LOADERएक्सेस ड्राइवर का उपयोग करना चाहिए और सुनिश्चित करना चाहिए कि डेटा फ़ाइलें टेक्स्ट प्रारूप में हैं। आपको स्ट्रक्चर्ड क्वेरी लैंग्वेज (एसक्यूएल) को भी समझना चाहिए ताकि आप एक बाहरी टेबल बना सकें और इसके खिलाफ क्वेरी कर सकें।
Oracle डेटाबेस में एक बाहरी तालिका बनाएं
Oracle लोडर का उपयोग करके बाहरी तालिकाएँ बनाने के लिए, निम्न चरणों का पालन करें:
निर्देशिका बनाएं
एक निर्देशिका बनाने के लिए निम्न कोड का उपयोग करें जो अल्पविराम से अलग किए गए मान (सीएसवी) या उपयोगकर्ता द्वारा प्रदान की गई टेक्स्ट फ़ाइलों के स्थान को इंगित करता है।
create directory vk_dir as '/opt/oracle/app/admin/je1prd/mods/151214_CHG0004529';
एक बाहरी तालिका बनाएं
बाहरी तालिका बनाने के लिए निम्न SQL का उपयोग करें:
create table kumarv5.VK_4529_ext
(
IBMCU NCHAR(12),
IBLITM NCHAR(25),
IBANPL NUMBER
)
organization external
(
type oracle_loader
default directory vk_dir
access parameters
(
records delimited by newline
logfile vk_dir:'VK_4529_ext.log'
badfile vk_dir:'VK_4529_ext.bad'
discardfile vk_dir:'VK_4529_ext.dcf'
skip 1
fields
terminated by '~'
missing field values are null
reject rows with all null fields
(
IBMCU,
IBLITM,
IBANPL
)
)
location
(
'data14.csv'
)
)
reject limit unlimited;
स्थानीय तालिका बनाएं
चूंकि आप बाहरी टेबल पर डीएमएल नहीं कर सकते हैं, इसलिए बाहरी टेबल पर आधारित स्थानीय टेबल बनाने के लिए निम्नलिखित कोड का उपयोग करें:
--create
create table kumarv5.VK_4529_int
(
IBMCU NCHAR(12),
IBLITM NCHAR(25),
IBANPL NUMBER
)
tablespace proddtat;
बाहरी से स्थानीय तालिका में डेटा कॉपी करें
डेटा को बाहरी से स्थानीय तालिका में कॉपी करने के लिए निम्न कोड का उपयोग करें:
--insert
Insert into kumarv5.VK_4529_int select * from kumarv5.VK_4529_ext;
commit;
select count(*) from kumarv5.VK_4529_int;
मुख्य उत्पादन तालिका अपडेट करें
बाहरी तालिका के आधार पर स्थानीय तालिका बनाने के बाद, आप स्थानीय तालिका से मुख्य उत्पादन तालिका को अद्यतन करने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं:
update PRODDTA.F43090 a
set a.PCMCU=' 1AM'
WHERE (a. IBMCU, a. IBLITM, a. IBANPL) in
(select b. IBMCU, b. IBLITM, b. IBANPL from kumarv5.VK_4529_int b );
बाहरी तालिकाओं से नियमित तालिकाओं में डेटा लोड करें
निम्न छवि आपको दिखाती है कि बाहरी तालिका से डेटा को नियमित तालिका में कैसे लोड किया जाए:
छवि स्रोत :https://dba.fyicenter.com/faq/oracle/Load-Data-from-External-Tables.html
निष्कर्ष
बाहरी तालिकाएँ आपको बाहरी स्रोतों में डेटा तक पहुँचने में सक्षम बनाती हैं जैसे कि वह डेटाबेस में किसी तालिका में थी। यदि उपयोगकर्ता स्प्रेडशीट या सीएसवी प्रारूप में डेटा प्रदान करते हैं, और आपको एक्सेल शीट के आधार पर डेटाबेस तालिकाओं को अपडेट करने की आवश्यकता होती है, तो बाहरी तालिका काम में आती है।
कोई टिप्पणी करने या प्रश्न पूछने के लिए प्रतिक्रिया टैब का उपयोग करें। बातचीत शुरू करने के लिए आप अभी चैट भी कर सकते हैं।
डेटाबेस के बारे में और जानें।