Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Upuszczanie tabeli w Oracle SQL

Jeśli jesteś naprawdę pewien, że chcesz usunąć tabelę, nawet jeśli jest ona przywoływana w kluczach obcych, możesz to wymusić w ten sposób:

drop table state cascade constraints;

Ta składnia jest zdefiniowana w dokumentacji Oracle SQL .

Zwróć uwagę, że powoduje to usunięcie wszelkich relacji klucza obcego. Więc będziesz musiał je odtworzyć po odbudowaniu tabeli (i jej klucza podstawowego). Zwykle jest to w porządku, ponieważ najczęstszym przypadkiem użycia jest usuwanie i ponowne tworzenie schematów w środowiskach programistycznych lub CI.

Możemy użyć cascade constraints aby nasze skrypty kompilacji były łatwiejsze w utrzymaniu. Istnieją dwie alternatywy:

  1. Wyraźnie usuń ograniczenia klucza obcego przed usunięciem tabel, za pomocą skryptu lub dynamicznego SQL.
  2. Uporządkuj instrukcje DROPTABLE tak, aby tabele zależne były przeskakiwane jako pierwsze wraz z ich nieznośnymi kluczami obcymi. Wystarczająco łatwe dla kilku stolików, bardziej bolesne z dużym schematem.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Używanie Dappera z Oracle

  2. PHP:pole oci_bind_by_name i timestamp daje wynik ORA-01461:może powiązać wartość LONG tylko w przypadku wstawienia do kolumny LONG

  3. Deklarowanie i ustawianie zmiennych w instrukcji Select

  4. Zapytanie o dane z XML

  5. Usuń zduplikowane rekordy za pomocą rownum w sql