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

oracle begrænsninger datatype

Dette er for langt til en kommentar.

Du kan ikke nemt gøre, hvad du vil. Oracle konverterer inputværdien 3.2 til et heltal. Heltallet opfylder begrænsningen. Værdien 3 er det, der indsættes. Konverteringen sker bag kulisserne. Udviklerne af Oracle regnede med, at denne konvertering er en "god ting".

Du kan omgå dette ved at erklære kolonnen som et nummer og derefter kontrollere, at det er et heltal:

create table test (
     A number, 
     constraints ACHECK check(A between 1 and 5 and mod(A, 1) = 0)
);


  1. SQL Server Management Studio - hvordan man ændrer en felttype uden at slippe tabel

  2. Hvordan kan jeg gennemgå alle database- og objektbevillinger for en rolle?

  3. log indsættelser/opdateringer/sletninger i Oracle-database

  4. Acquire_lock() virker ikke. Bot sender stadig anmodninger hurtigt. PHP + AJAX