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

Buat atau ganti tabel di Oracle pl/sql

Anda seharusnya tidak melakukan ini di PL/SQL, tabel yang dibuat saat runtime akan menunjukkan cacat pada model data Anda. Jika Anda benar-benar yakin bahwa Anda benar-benar harus melakukan ini, selidiki tabel sementara pertama. Secara pribadi, saya akan menilai kembali apakah itu perlu.

Anda tampaknya memilih EAFP sebagai lawan dari LBYL pendekatan, yang dijelaskan dalam beberapa jawaban untuk pertanyaan ini . Saya berpendapat bahwa ini tidak perlu. Tabel adalah binatang yang cukup statis, Anda dapat menggunakan tampilan sistem USER_TABLES untuk menentukan apakah itu ada sebelum menjatuhkannya.

declare

   l_ct number;

begin

   -- Determine if the table exists.
   select count(*) into l_ct
     from user_tables
    where table_name = 'THE_TABLE';

   -- Drop the table if it exists.
   if l_ct = 1 then
      execute immediate 'drop table the_table';
   end if;

   -- Create the new table it either didn-t exist or
   -- has been dropped so any exceptions are exceptional.
   execute immediate 'create table the_table ( ... )';

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. Perlu kueri untuk mendapatkan daftar tabel yang digunakan dan tidak digunakan

  2. Buat pekerjaan penjadwal oracle

  3. Tidak termasuk hanya satu nilai MIN pada Oracle SQL

  4. Cara Mengembalikan Stempel Waktu Unix di Oracle

  5. Halaman menampilkan '?', bukan 'é'