kèo chấp bóng đá hôm nay - Xác định miền mới
kèo chấp bóng đá hôm naykèo chấp bóng đá hôm nay
[As]data_type
[đối chiếuđối chiếu
] [ MẶC ĐỊNHBiểu thức
] [domain_constraint
[...]]trong đódomain_constraint
IS:[ràng buộcinstraint_name
] Không phải null | Null | KIỂM TRA (Biểu thức
)
kèo chấp bóng đá hôm nay
kèo chấp bóng đá hôm nay một miền mới. Một miền về cơ bản là một kiểu dữ liệu với các ràng buộc tùy chọn (các hạn chế đối với tập hợp các giá trị được phép). Người dùng xác định tên miền trở thành chủ sở hữu của nó.
Nếu một kèo chấp bóng đá hôm nay lược đồ được đưa ra (ví dụ:kèo chấp bóng đá hôm nay myschema.mydomain ...
) Sau đó, miền được kèo chấp bóng đá hôm nay trong lược đồ được chỉ định. Nếu không, nó được kèo chấp bóng đá hôm nay ra trong lược đồ hiện tại. Tên miền phải là duy nhất trong số các loại và miền hiện có trong lược đồ của nó.
kèo chấp bóng đá hôm nay rất hữu ích để trừu tượng hóa các ràng buộc chung trên các trường vào một vị trí duy nhất để bảo trì. Ví dụ: một số bảng có thể chứa các cột địa chỉ email, tất cả đều yêu cầu cùng một ràng buộc kiểm tra để xác minh cú pháp địa chỉ. Xác định một miền thay vì thiết lập ràng buộc của mỗi bảng.
Để có thể kèo chấp bóng đá hôm nay một miền, bạn phải cósử dụng
Đặc quyền trên loại cơ bản.
kèo chấp bóng đá hôm nay
Tên (tùy chọn Lược đồ theo trình độ) của một miền sẽ được kèo chấp bóng đá hôm nay.
data_type
Loại dữ kèo chấp bóng đá hôm nay cơ bản của miền. Điều này có thể bao gồm các nhà xác định mảng.
đối chiếu
12533_12717đối chiếu
được chỉ định.
Mặc địnhBiểu thức
TheMặc định
mệnh đề Chỉ định giá trị mặc định cho các cột của kiểu dữ kèo chấp bóng đá hôm nay miền. Giá trị là bất kỳ biểu thức không thay đổi nào (nhưng không được phép truy vấn con). Kiểu dữ kèo chấp bóng đá hôm nay của biểu thức mặc định phải khớp với kiểu dữ kèo chấp bóng đá hôm nay của miền. Nếu không có giá trị mặc định được chỉ định, thì giá trị mặc định là giá trị null.
Biểu thức mặc định sẽ được sử dụng trong bất kỳ thao tác chèn nào không chỉ định giá trị cho cột. Nếu một giá trị mặc định được xác định cho một cột cụ thể, nó sẽ ghi đè bất kỳ mặc định nào được liên kết với miền. Đổi lại, miền mặc định ghi đè bất kỳ giá trị mặc định nào được liên kết với kiểu dữ kèo chấp bóng đá hôm nay cơ bản.
ràng buộcinstraint_name
một tên tùy chọn cho một ràng buộc. Nếu không được chỉ định, hệ thống sẽ kèo chấp bóng đá hôm nay.
không null
Giá trị của miền này được ngăn chặn không bị null (nhưng xem ghi chú bên dưới).
null
Giá trị của miền này được phép là null. Đây là mặc định.
14287_14411
Kiểm tra (Biểu thức
)
Kiểm tra
Các điều khoản chỉ định các ràng buộc toàn vẹn hoặc kiểm tra giá trị của miền phải thỏa mãn. Mỗi ràng buộc phải là một biểu thức kèo chấp bóng đá hôm nay ra một kết quả boolean. Nó nên sử dụng từ khóagiá trị
để chỉ giá trị đang được kiểm tra. Biểu thức đánh giá thành công thực hoặc chưa biết thành công. Nếu biểu thức kèo chấp bóng đá hôm nay ra kết quả sai, một lỗi được báo cáo và giá trị không được phép chuyển đổi thành loại miền.
Hiện tại,Kiểm tra
Biểu thức không thể chứa các nhóm con cũng như không tham khảo các biến khác ngoàigiá trị
.
Khi kèo chấp bóng đá hôm nay miền có nhiềuKiểm tra
Các ràng buộc, chúng sẽ được kiểm tra theo thứ tự bảng chữ cái theo kèo chấp bóng đá hôm nay. (PostgreSQLPhiên bản trước 9.5 không tôn trọng bất kỳ lệnh bắn cụ thể nào choKiểm tra
ràng buộc.)
15657_15692không null
, được kiểm tra khi chuyển đổi giá trị thành loại miền. Có thể cho kèo chấp bóng đá hôm nay cột trên danh nghĩa của loại miền để đọc là null mặc dù có kèo chấp bóng đá hôm nay ràng buộc như vậy. Ví dụ, điều này có thể xảy ra trong kèo chấp bóng đá hôm nay truy vấn bên ngoài, nếu cột miền nằm ở phía không thể vượt qua của tham gia bên ngoài. kèo chấp bóng đá hôm nay ví dụ tinh tế hơn là
16083_16158
Sub-select vô hướng trống sẽ kèo chấp bóng đá hôm nay ra một giá trị null được coi là thuộc loại miền, do đó, không có kiểm tra ràng buộc nào được áp dụng cho nó và việc chèn sẽ thành công.
Rất khó để tránh các vấn đề như vậy, vì giả định chung của SQL rằng giá trị null là giá trị hợp lệ của mọi loại dữ kèo chấp bóng đá hôm nay. Do đó, thực tiễn tốt nhất là thiết kế các ràng buộc của một miền để giá trị null được cho phép, sau đó áp dụng cộtkhông null
16655_16751
PostgreSQLgiả sử rằngKiểm tra
Điều kiện của các ràng buộc là bất biến, nghĩa là chúng sẽ luôn đưa ra kết quả tương tự cho cùng kèo chấp bóng đá hôm nay giá trị đầu vào. Giả định này là những gì biện minh cho việc kiểm traKiểm tra
Các ràng buộc chỉ khi kèo chấp bóng đá hôm nay giá trị được chuyển đổi đầu tiên thành kèo chấp bóng đá hôm nay loại miền và không phải vào thời điểm khác. (Điều này thực chất giống như cách xử lý bảngKiểm tra
ràng buộc, như được mô tả trongPhần 5.5.1.)
kèo chấp bóng đá hôm nay ví dụ về kèo chấp bóng đá hôm nay cách phổ biến để phá vỡ giả định này là tham chiếu chức năng do người dùng xác định trong AKiểm tra
Biểu thức, sau đó thay đổi hành vi của hàm đó.PostgreSQLKhông không cho phép điều đó, nhưng sẽ không nhận thấy nếu có các giá trị được lưu trữ của loại miền hiện vi phạmKiểm tra
ràng buộc. Điều đó sẽ làm cho một kết xuất cơ sở dữ kèo chấp bóng đá hôm nay tiếp theo và khôi phục thất bại. Cách được đề xuất để xử lý một thay đổi như vậy là giảm ràng buộc (sử dụngAlter miền
), điều chỉnh định nghĩa chức năng và thêm lại ràng buộc, do đó kiểm tra lại nó đối với dữ kèo chấp bóng đá hôm nay được lưu trữ.
Đó cũng là cách thực hành tốt để đảm bảo kèo chấp bóng đá hôm nayKiểm tra
Biểu thức sẽ không ném lỗi.
Ví dụ này kèo chấp bóng đá hôm nay raus_postal_code
Kiểu dữ kèo chấp bóng đá hôm nay và sau đó sử dụng loại trong định nghĩa bảng. Một bài kiểm tra biểu thức thông thường được sử dụng để xác minh rằng giá trị trông giống như mã bưu chính hợp lệ của Hoa Kỳ:
kèo chấp bóng đá hôm nay miền US_POSTAL_CODE làm văn bản KIỂM TRA( Giá trị ~ '^\ d 5 $' Hoặc value ~ '^\ d 5-\ d 4 $' ); kèo chấp bóng đá hôm nay bảng US_SNAIL_ADDY ( Địa chỉ_ID Khóa chính nối tiếp, street1 văn bản không null, Text Street2, Street3 Text, văn bản thành phố không phải null, Postal us_postal_code không null );
lệnhkèo chấp bóng đá hôm nay
phù hợp với tiêu chuẩn SQL.
Cú phápkhông null
Trong lệnh này làPostgreSQLMở rộng. .Kiểm tra (giá trị không phải là NULL)
. Tuy nhiên, mỗiPhần có kèo chấp bóng đá hôm nay là Ghi chú ", Những ràng buộc như vậy được tránh tốt nhất trong thực tế.)null
ràng buộcHồilà kèo chấp bóng đá hôm nayPostgreSQLPhần mở rộng (xem thêmTương thích19776_19780
Nếu bạn thấy bất cứ điều gì trong tài kèo chấp bóng đá hôm nay không chính xác, không khớp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài kèo chấp bóng đá hôm nay.