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

डीडीएल क्रिएट स्क्रिप्ट्स में ORA-00942 एरर्स को कम करें

आदर्श रूप से हमें स्रोत नियंत्रण और कॉन्फ़िगरेशन प्रबंधन सर्वोत्तम प्रथाओं का उपयोग करते हुए अपनी स्कीमा को ठीक से बनाए रखना चाहिए। इस परिदृश्य में हम पहले से जानते हैं कि जिस स्कीमा के खिलाफ हम अपनी स्क्रिप्ट चलाते हैं, उसमें वे टेबल हैं। हमें त्रुटियां नहीं मिलती हैं क्योंकि हम उन तालिकाओं को छोड़ने का प्रयास नहीं करते हैं जो मौजूद नहीं हैं।

हालांकि ऐसा करना हमेशा संभव नहीं होता है। एक वैकल्पिक तरीका दो लिपियों का होना है। पहली स्क्रिप्ट में केवल DROP TABLE स्टेटमेंट होते हैं, जो एक फ्रेंडली के साथ होते हैं

PROMPT  It is safe to ignore any ORA-00942 errors in the following statements

दूसरी स्क्रिप्ट में सभी CREATE TABLE स्टेटमेंट हैं और इसके साथ आगे बढ़ता है

PROMPT  All the statements in this script should succeed.  So investigate any errors

एक अन्य विकल्प डेटा डिक्शनरी का उपयोग करना है:

begin
    for r in ( select table_name from user_tables )
    loop
        execute immediate 'drop table '||r.table_name
                    ||' cascade constraints';
    end loop;
end;

इससे सावधान रहें। यह परमाणु विकल्प है और आपके स्कीमा में प्रत्येक तालिका को छोड़ देगा।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पता लगाएँ कि क्या किसी स्ट्रिंग में केवल ASCII वर्ण हैं

  2. ORA-00904:अमान्य पहचानकर्ता

  3. संभावित शून्य मान (ओरेकल 11 जी) वाले फ़ील्ड पर अद्वितीय अनुक्रमणिका कैसे बनाएं?

  4. ORA-00933:एक ही समय में दो तालिकाओं को हटाते समय SQL कमांड ठीक से समाप्त नहीं हुआ

  5. रेफरी कर्सर के अलावा कुछ और वापस करने के लिए रैपर कैसे बनाएं