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

Jak mogę usunąć ograniczenie o wartości niezerowej w Oracle, jeśli nie znam nazwy ograniczenia?

alter table MYTABLE modify (MYCOLUMN null);

W Oracle ograniczenia wartości niezerowej są tworzone automatycznie, gdy dla kolumny określono wartość niepustą. Podobnie są one usuwane automatycznie, gdy kolumna zostanie zmieniona, aby zezwolić na wartości null.

Objaśnienie poprawionego pytania :To rozwiązanie dotyczy tylko ograniczeń utworzonych dla kolumn „nie zerowych”. Jeśli określisz „Klucz podstawowy” lub ograniczenie sprawdzające w definicji kolumny bez nazywania jej, otrzymasz wygenerowaną przez system nazwę ograniczenia (i indeks dla klucza podstawowego). W takich przypadkach musisz znać nazwę, aby ją usunąć. Najlepszą radą jest uniknięcie tego scenariusza, upewniając się, że podałeś nazwę dla wszystkich ograniczeń innych niż „not null”. Jeśli znajdziesz się w sytuacji, w której musisz ogólnie usunąć jedno z tych ograniczeń, prawdopodobnie będziesz musiał uciec się do PL/SQL i tabel definicji danych.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle odpowiednik MySQL INSERT IGNORE?

  2. Różne CURRENT_TIMESTAMP i SYSDATE w Oracle

  3. Uzyskaj liczbę dni między dwiema datami w Oracle, łącznie z datami

  4. PL/SQL — użyj zmiennej listy w miejscu gdzie w klauzuli

  5. SQL (ORACLE):ORDER BY i LIMIT