कोड जो यह जांचने की आवश्यकता है कि कोई तालिका मौजूद है या नहीं, खराब सॉफ़्टवेयर आर्किटेक्चर को इंगित करता है। मक्खी पर टेबल बनाने की कोई आवश्यकता नहीं होनी चाहिए। यह एक विरोधी पैटर्न है (कम से कम ओरेकल में)। हालाँकि, हम अक्सर इस समस्या पर भिन्नता देखते हैं, इसलिए यह स्पष्ट है कि यह विरोधी पैटर्न जंगली में पनप रहा है।
यदि आपको वास्तव में इस तरह के समाधान (किसी भी कारण से) को लागू करने की आवश्यकता है, तो कोड का उपयोग करके टेबल बिल्डिंग कोड को टेबल से अलग करना सही तरीका है। उनके लिए अलग पैकेज रखें।
begin
pkg_ddl.build_table_xyz;
pkg_calc.run_xyz_job;
end;
यदि तालिका XYZ मौजूद नहीं है pkg_calc.run_xyz_job()
अमान्य है। हालांकि यह अमान्यता pkg_ddl.build_table_xyz()
को नहीं रोक पाएगी क्रियान्वित करने से। फिर, जब बाहरी प्रोग्राम pkg_calc.run_xyz_job()
. को कॉल करता है यह प्रक्रिया को संकलित करेगा।