sql >> Databáze >  >> RDS >> Oracle

Potlačit chyby ORA-00942 ve skriptech pro vytváření ddl

V ideálním případě bychom měli správně udržovat naše schéma pomocí osvědčených postupů pro řízení zdrojů a správu konfigurace. V tomto scénáři předem víme, zda schéma, proti kterému spouštíme naše skripty, obsahuje tyto tabulky. Nedostáváme chyby, protože se nepokoušíme rušit tabulky, které neexistují.

To však není vždy možné. Jeden alternativní přístup je mít dva skripty. První skript obsahuje pouze příkazy DROP TABLE s úvodem přátelský

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

Druhý skript obsahuje všechny příkazy CREATE TABLE a vede s

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

Další možností je použít datový slovník:

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

Buďte opatrní s tímto. Je to jaderná varianta a zahodí každou tabulku ve vašem schématu.




  1. Jak opravím chybu „Hodnota mimo rozsah upravena pro sloupec“?

  2. Jak zkontrolovat, zda je datum a čas náhodou sobota nebo neděle v SQL Server 2008

  3. Problém s kódováním PDO UTF-8?

  4. Problém s výkonem při aktualizaci tabulky z jiné tabulky