Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Menekan kesalahan ORA-00942 dalam skrip pembuatan ddl

Idealnya kita harus memelihara skema kita dengan benar, menggunakan kontrol sumber dan praktik terbaik manajemen konfigurasi. Dalam skenario ini kita tahu sebelumnya apakah skema yang kita jalankan terhadap skrip kita berisi tabel-tabel tersebut. Kami tidak mendapatkan kesalahan karena kami tidak mencoba untuk menjatuhkan tabel yang tidak ada.

Namun hal ini tidak selalu memungkinkan untuk dilakukan. Salah satu pendekatan alternatif adalah memiliki dua skrip. Script pertama hanya memiliki pernyataan DROP TABLE, diawali dengan ramah

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

Skrip kedua memiliki semua pernyataan CREATE TABLE dan diawali dengan

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

Pilihan lain adalah dengan menggunakan kamus data:

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

Hati-hati dengan yang satu ini. Ini adalah opsi nuklir dan akan menghapus setiap tabel dalam skema Anda.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pengecualian Java Oracle - jumlah maksimum ekspresi dalam daftar adalah 1000

  2. Perintah CREATE TABLE Oracle di PL/SQL dengan 10 Contoh

  3. Apakah Oracle secara otomatis membuat indeks sekunder untuk kolom KUNCI ASING?

  4. Cara memanggil blok anonim pl/sql dari blok anonim pl/sql

  5. membuat kerangka data panda dari kueri basis data yang menggunakan variabel ikat