Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

एक प्रक्रिया में बनाई गई तालिका को हटा दिया जाता है, प्रक्रिया के लिए संकलन त्रुटि प्राप्त करना

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

यदि आपको वास्तव में इस तरह के समाधान (किसी भी कारण से) को लागू करने की आवश्यकता है, तो कोड का उपयोग करके टेबल बिल्डिंग कोड को टेबल से अलग करना सही तरीका है। उनके लिए अलग पैकेज रखें।

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() . को कॉल करता है यह प्रक्रिया को संकलित करेगा।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. तुलना करने के लिए CLOB को NUMBER में कनवर्ट करना - Oracle

  2. Oracle 12.2 शेयरिंग

  3. sql - मौजूद नहीं होने वाले मानों को वापस करने के लिए एकल क्वेरी

  4. SqlPlus क्वेरी समस्या (पैकेज युक्ति और मुख्य भाग)

  5. SQL का उपयोग करके उत्क्रमण जोड़े निकालें