Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

kiểu dữ liệu ràng buộc oracle

Đây là một bình luận quá dài.

Bạn không thể làm những gì bạn muốn một cách dễ dàng. Oracle đang chuyển đổi giá trị đầu vào 3.2 thành một số nguyên. Số nguyên đáp ứng ràng buộc. Giá trị 3 là những gì được chèn vào. Việc chuyển đổi diễn ra ở hậu trường. Các nhà phát triển của Oracle cho rằng việc chuyển đổi này là một "điều tốt".

Bạn có thể giải quyết vấn đề này bằng cách khai báo cột dưới dạng số và sau đó kiểm tra xem nó có phải là số nguyên không:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. truy vấn con oracle trong từ khóa chậm trên 12c

  2. Sử dụng giữ nguyên:ORA-00933:Lệnh SQL không được kết thúc đúng cách

  3. Nhiều bộ kết quả với Oracle

  4. Trả về kết quả của một truy vấn sql dưới dạng JSON trong oracle 12c

  5. Chế độ xem vật chất hóa so với Bảng:Ưu điểm là gì?