DBMS_METADATA पैकेज (यह मानते हुए कि आप Oracle के हाल के संस्करण पर हैं) डेटाबेस में किसी भी वस्तु के लिए DDL उत्पन्न करेगा। तो
SELECT dbms_metadata.get_ddl( 'TABLE', 'TABLEA', 'SCHEMAA' )
FROM dual;
स्कीमाए.टेबलए के लिए डीडीएल के साथ एक सीएलओबी लौटाएगा। आप उस अपवाद को पकड़ सकते हैं जिसे फेंक दिया गया है कि वस्तु मौजूद नहीं है, लेकिन मैं सुझाव दूंगा कि आप डेटा डिक्शनरी (यानी DBA_OBJECTS) से पूछें कि यह सत्यापित करने के लिए कि स्कीमा में TableA नाम की एक तालिका है, अर्थात
SELECT COUNT(*)
FROM dba_objects
WHERE owner = 'SCHEMAA'
AND object_name = 'TABLEA'
AND object_type = 'TABLE'
ध्यान दें कि यदि आपके पास DBA_OBJECTS तक पहुंच नहीं है, तो आप इसके बजाय ALL_OBJECTS का उपयोग कर सकते हैं। हालाँकि, चिंता यह है कि स्कीमा में एक टेबलए हो सकता है, जिस पर आपके पास सेलेक्ट एक्सेस नहीं है। वह तालिका ALL_OBJECTS में दिखाई नहीं देगी (जिसमें वे सभी ऑब्जेक्ट हैं जिन तक आपकी पहुंच है) लेकिन यह DBA_OBJECTS में दिखाई देगा (जिसमें डेटाबेस में सभी ऑब्जेक्ट हैं, चाहे आप उन्हें एक्सेस करने की क्षमता कुछ भी हों)।
फिर आप या तो फ़ाइल में डीडीएल लिख सकते हैं या, यदि गिनती 0 है, तो इंगित करें कि वस्तु मौजूद नहीं है। किसी संग्रहीत कार्यविधि से, आप डेटाबेस सर्वर पर किसी फ़ाइल को लिखने के लिए UTL_FILE पैकेज का उपयोग कर सकते हैं। यदि आप क्लाइंट फ़ाइल सिस्टम पर किसी फ़ाइल को लिखने का प्रयास कर रहे हैं, तो आपको ऐसी भाषा का उपयोग करना होगा जिसकी क्लाइंट ऑपरेटिंग सिस्टम के संसाधनों तक पहुँच हो। एक छोटा सी/जावा/पर्ल/आदि प्रोग्राम एक सीएलओबी का चयन करने और क्लाइंट ऑपरेटिंग सिस्टम पर उस डेटा को फ़ाइल में लिखने में सक्षम होना चाहिए।