Tạo Bàn kèo bóng đá c1 - Xác định một bảng kèo bóng đá c1 mới
Tạo bảng kèo bóng đá c1 [nếu không tồn tại]Table_Name
([[Cột_name
data_type
[Tùy chọn (Tùy chọn
'giá trị
' [, ...])] [đối chiếuđối chiếu
] [Cột_constraint
[...]]Table_Constraint
Parent_table
[, ...])]]]server_name
[Tùy chọn (Tùy chọn
'giá trị
' [, ...])]]Table_Name
phân vùngParent_table
[((Cột_name
[với các tùy chọn] [Cột_constraint
[...]]Table_Constraint
phân vùng_bound_spec
| MẶC ĐỊNHserver_name
[Tùy chọn (Tùy chọn
'giá trị
' [, ...])]WHERECột_constraint
IS:[ràng buộcurdaint_name
]Biểu thức
) [Không kế thừa] |default_expr
vàTable_constraint
IS:[ràng buộcinstraint_name
]Biểu thức
) [Không kế thừa]vàphân vùng_bound_spec
IS:in (numeric_literal
|String_literal
| Đúng |numeric_literal
|String_literal
| Đúng |numeric_literal
|String_literal
| Đúng |numeric_literal
, còn lạinumeric_literal
)
Tạo bảng kèo bóng đá c1
Tạo một bảng kèo bóng đá c1 mới trong cơ sở dữ liệu hiện tại. Bảng sẽ được sở hữu bởi người dùng phát hành lệnh.
Nếu một tên lược đồ được đưa ra (ví dụ:Tạo bảng kèo bóng đá c1 myschema.mytable ...
) Sau đó, bảng được kèo bóng đá c1 trong lược đồ được chỉ định. Nếu không, nó được kèo bóng đá c1 ra trong lược đồ hiện tại.
Tạo Bàn kèo bóng đá c1
Cũng tự động tạo một loại dữ liệu đại diện cho loại tổng hợp tương ứng với một hàng của bảng kèo bóng đá c1. Do đó, các bảng kèo bóng đá c1 không thể có cùng tên với bất kỳ loại dữ liệu hiện có nào trong cùng một lược đồ.
nếuPhân vùng
mệnh đề được chỉ định sau đó bảng được kèo bóng đá c1 dưới dạng phân vùng củaParent_table
với giới hạn được chỉ định.
Để có thể tạo một bàn kèo bóng đá c1, bạn phải cósử dụng
Đặc quyền trên máy chủ kèo bóng đá c1, cũng nhưsử dụng
Đặc quyền trên tất cả các loại cột được sử dụng trong bảng.
Nếu không tồn tại
Không ném lỗi nếu mối quan hệ có cùng tên đã tồn tại. Một thông báo được đưa ra trong trường hợp này.
Table_Name
Tên (tùy chọn Lược đồ theo trình độ) của bảng sẽ được kèo bóng đá c1.
Cột_name
Tên của một cột được kèo bóng đá c1 trong bảng mới.
data_type
Loại dữ liệu của cột. Điều này có thể bao gồm các nhà xác định mảng.PostgreSQL, Tham khảoChương 8.
đối chiếuđối chiếu
Theđối chiếu
mệnh đề gán một đối chiếu cho cột (phải thuộc loại dữ liệu có thể có được). Nếu không được chỉ định, đối chiếu mặc định của kiểu dữ liệu cột được sử dụng.
kế thừa (Parent_table
[, ...])
Tùy chọnkế thừa
mệnh đề Chỉ định danh sách các bảng mà từ đó Bàn kèo bóng đá c1 mới tự động kế thừa tất cả các cột. Bảng cha mẹ có thể là bảng đơn giản hoặc bảng kèo bóng đá c1.kèo bóng đá c1Để biết thêm chi tiết.
Phân vùngParent_table
cho các giá trịphân vùng_bound_spec
| MẶC ĐỊNH
Biểu mẫu này có thể được sử dụng để tạo bảng kèo bóng đá c1 như phân vùng của bảng cha mẹ đã cho với các giá trị ràng buộc phân vùng được chỉ định. Xem dạng tương tự củakèo bóng đá c1Để biết thêm chi tiết. Lưu ý rằng hiện tại nó không được phép tạo bảng kèo bóng đá c1 như một phân vùng của bảng cha nếu cóđộc đáo
Chỉ mục trên bảng cha. (Xem thêmBẢNG ALT
16727_16731
ràng buộc
Một tên tùy chọn cho một ràng buộc cột hoặc bảng. Nếu ràng buộc bị vi phạm, tên ràng buộc có mặt trong các thông báo lỗi, do đó, các tên ràng buộc nhưcol phải tích cực
có thể được sử dụng để truyền đạt thông tin ràng buộc hữu ích cho các ứng dụng khách. .
không null
Cột không được phép chứa các giá trị null.
null
Cột được phép chứa các giá trị null. Đây là mặc định.
Điều khoản này chỉ được cung cấp để tương thích với cơ sở dữ liệu SQL không chuẩn. Việc sử dụng nó không được khuyến khích trong các ứng dụng mới.
Kiểm tra (Biểu thức
) [Không kế thừa]
TheKiểm tra
Điều khoản chỉ định một biểu thức tạo ra kết quả boolean mà mỗi hàng trong Bàn kèo bóng đá c1 dự kiến sẽ thỏa mãn; Đó là, biểu thức sẽ tạo ra sự thật hoặc chưa biết, không bao giờ sai, cho tất cả các hàng trong Bàn kèo bóng đá c1.
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 kèo bóng đá c1 các cột của hàng hiện tại. Cột hệ thốngTableoid
có thể được tham chiếu, nhưng không phải bất kỳ cột hệ thống nào khác.
Một ràng buộc được đánh dấu bằngKhông kế thừa
sẽ không tuyên truyền cho các bảng con.
mặc địnhdefault_expr
Themặc định
mệnh đề gán giá trị dữ liệu mặc định cho cột có định nghĩa cột nó xuất hiện trong. Giá trị là bất kỳ biểu thức không thay đổi nào (không được cho phép các mục tiêu con và tham chiếu chéo cho các cột khác trong bảng hiện tại không được phép).
Biểu thức mặc định sẽ được sử dụng trong bất kỳ hoạt động chèn nào không chỉ định giá trị cho cột. Nếu không có mặc định cho một cột, thì mặc định là null.
server_name
Tên của một máy chủ kèo bóng đá c1 hiện có để sử dụng cho Bàn kèo bóng đá c1. Để biết chi tiết về việc xác định máy chủ, xemkèo bóng đá c1 máy chủ.
Tùy chọn (Tùy chọn
'giá trị
' [, ...])
Các tùy chọn được liên kết với bảng kèo bóng đá c1 mới hoặc một trong các cột của nó. Các tên và giá trị tùy chọn được phép dành riêng cho từng trình bao bọc dữ liệu kèo bóng đá c1 và được xác thực bằng hàm xác thực của trình bao bọc kèo bóng đá c1.
Các ràng buộc trên các bảng kèo bóng đá c1 (chẳng hạn nhưKiểm tra
hoặckhông null
mệnh đề) không được thực thi bởi lõiPostgreSQLHệ thống và hầu hết các trình bao bọc dữ liệu kèo bóng đá c1 cũng không cố gắng thực thi chúng; Đó là, ràng buộc chỉ đơn giản là giả định để giữ đúng.
Một số gói dữ liệu kèo bóng đá c1 có mục đích đặc biệt có thể là cơ chế truy cập duy nhất cho dữ liệu họ truy cập và trong trường hợp đó, nó có thể phù hợp với bản thân dữ liệu kèo bóng đá c1 để thực hiện thực thi ràng buộc. Nhưng bạn không nên cho rằng một trình bao bọc thực hiện điều đó trừ khi tài liệu của nó nói như vậy.
mặc dùPostgreSQLKhông cố gắng thực thi các ràng buộc trên các bảng kèo bóng đá c1, người ta cho rằng chúng là chính xác cho mục đích tối ưu hóa truy vấn. Nếu có các hàng có thể nhìn thấy trong Bàn kèo bóng đá c1 không thỏa mãn ràng buộc được khai báo, các truy vấn trên bảng có thể tạo ra lỗi hoặc câu trả lời không chính xác.
Khi một bảng kèo bóng đá c1 được sử dụng làm phân vùng của bảng được phân vùng, có một ràng buộc ngầm rằng nội dung của nó phải đáp ứng quy tắc phân vùng. Một lần nữa, trách nhiệm của người dùng là đảm bảo rằng đó là sự thật, điều này được thực hiện tốt nhất bằng cách cài đặt một ràng buộc phù hợp trên máy chủ từ xa.
Trong một bảng được phân vùng chứa các phân vùng bàn kèo bóng đá c1, mộtCập nhật
Thay đổi giá trị khóa phân vùng có thể khiến một hàng được chuyển từ phân vùng cục bộ sang phân vùng bàn kèo bóng đá c1, với điều kiện trình bao bọc dữ liệu kèo bóng đá c1 hỗ trợ định tuyến Tuple. Tuy nhiên, hiện tại không thể chuyển một hàng từ phân vùng bàn kèo bóng đá c1 sang phân vùng khác.Cập nhật
Điều đó sẽ yêu cầu làm điều đó sẽ thất bại do ràng buộc phân vùng, giả sử rằng điều đó được thực thi đúng bởi máy chủ từ xa.
Tạo bảng kèo bóng đá c1Phim
, sẽ được truy cập thông qua máy chủfilm_server
:
Tạo phim kèo bóng đá c1 (
Tạo bảng kèo bóng đá c1Đo lường_Y2016M07
, sẽ được truy cập thông qua máy chủserver_07
, như một phân vùng của bảng phân vùng phạm viĐo lường
:
Tạo phép đo Bàn kèo bóng đá c1 ngoài_Y2016M07
TheTạo bảng kèo bóng đá c1
Lệnh phần lớn phù hợp vớiSQLtiêu chuẩn; Tuy nhiên, nhiều như vớikèo bóng đá c1
, null
Các ràng buộc và bảng kèo bóng đá c1 bằng không cột được cho phép. Khả năng chỉ định các giá trị mặc định cột cũng làPostgreSQLPhần mở rộng. Kế thừa bảng, trong biểu mẫu được xác định bởiPOSTGRESQL, là không đạt tiêu chuẩn.