sql >> Database teknologi >  >> RDS >> Oracle

Undertryk ORA-00942-fejl i ddl-opret scripts

Ideelt set bør vi vedligeholde vores skema korrekt ved at bruge bedste praksis for kildekontrol og konfigurationsstyring. I dette scenarie ved vi på forhånd, om det skema, vi kører vores scripts imod, indeholder disse tabeller. Vi får ikke fejl, fordi vi ikke forsøger at slette tabeller, som ikke eksisterer.

Det er dog ikke altid muligt at gøre dette. En alternativ tilgang er at have to scripts. Det første script har bare DROP TABLE-sætningerne, indledt med en venskabelig

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

Det andet script har alle CREATE TABLE-sætningerne og leder af med

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

En anden mulighed er at bruge dataordbogen:

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

Vær forsigtig med denne. Det er den nukleare mulighed og vil droppe hver tabel i dit skema.




  1. hvordan blokerer man indsæt duplikatpost i node mysql for mange-til-mange-relation?

  2. Sådan opretter du Facebook som venner-system i php med mysql

  3. xampp php 7 Kald til udefinerede funktioner (mysql &odbc)

  4. SocketException :Ingen sådan vært er kendt