sql >> Database teknologi >  >> RDS >> Oracle

Hvordan kan jeg slette en ikke-nul-begrænsning i Oracle, når jeg ikke kender navnet på begrænsningen?

alter table MYTABLE modify (MYCOLUMN null);

I Oracle oprettes ikke null-begrænsninger automatisk, når der ikke er angivet null for en kolonne. Ligeledes slettes de automatisk, når kolonnen ændres for at tillade nuller.

Afklaring af det reviderede spørgsmål :Denne løsning gælder kun for begrænsninger oprettet for "ikke null"-kolonner. Hvis du angiver "Primærnøgle" eller en kontrolbegrænsning i kolonnedefinitionen uden at navngive den, ender du med et systemgenereret navn for begrænsningen (og indekset for den primære nøgle). I disse tilfælde skal du kende navnet for at slippe det. Det bedste råd der er at undgå scenariet ved at sørge for at angive et navn for alle andre begrænsninger end "ikke null". Hvis du befinder dig i den situation, hvor du er nødt til at slippe en af ​​disse begrænsninger generisk, bliver du sandsynligvis nødt til at ty til PL/SQL og datadefinitionstabellerne.



  1. Sådan får du kalenderkvartal fra en dato i TSQL

  2. MySQL Workbench:Fejl i forespørgsel (1064):Syntaksfejl nær 'VISIBLE' på linje 1

  3. FEJL:kunne ikke indlæse biblioteket "/opt/PostgreSQL/9.0/lib/postgresql/plperl.so":libperl.so:

  4. Venter på localhost, for evigt!