Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

kèo bóng đá cúp c2Tạo BÀN

tên

Tạo kèo bóng đá cúp c2-Tạo một kèo bóng đá cúp c2 mới

Synopsis

Tạo [tạm thời | TEMP] kèo bóng đá cúp c2Table_Name(Cột_name loại[Cột_constraint[...]]
      |Table_Constraint[, ...]
    ) [Kế thừa (Parent_table[, ...])]]

Ở đâuCột_constraintCó thể:
[kèo bóng đá cúp c2urdaint_name]
Không phải null | Null | Độc đáo | Khóa chính | MẶC ĐỊNHgiá trị| KIỂM TRA (điều kiện) |
  Tài liệu tham khảokèo bóng đá cúp c2[(Cột)] [Kết hợp đầy đủ | Khớp một phần]
   [Khi xóaHành động] [Khi cập nhậtHành động]
   [Có thể bảo vệ | Không bị trì hoãn] [ban đầu bị hoãn lại | Ban đầu ngay lập tức]

VàTable_constraintCó thể:
[kèo bóng đá cúp c2urdaint_name]
 ĐỘC NHẤT (Cột_name[, ...]) |
  Khóa chính (Cột_name[, ...]) |
  KIỂM TRA (điều kiện) |
  Khóa ngoại (Cột_name[, ...]) Tài liệu tham khảokèo bóng đá cúp c2[(cột[, ...])]]
   [Kết hợp đầy đủ | Khớp một phần] [trên xóaHành động] [Khi cập nhậthành động]
   [Có thể bảo vệ | Không bị trì hoãn] [ban đầu bị hoãn lại | Ban đầu ngay lập tức]

Đầu vào

tạm thời hoặc tạm thời

Nếu được chỉ định, kèo bóng đá cúp c2 chỉ được tạo cho điều này Phiên, và được tự động bỏ khi thoát phiên. Các kèo bóng đá cúp c2 vĩnh viễn hiện có có cùng tên không có thể nhìn thấy (trong phiên này) trong khi kèo bóng đá cúp c2 tạm thời tồn tại. Bất kỳ chỉ mục nào được tạo trên kèo bóng đá cúp c2 tạm thời tự động tạm thời.

Table_Name

Tên của kèo bóng đá cúp c2 mới sẽ được tạo.

Cột_name

Tên của một cột được tạo trong phần mới bàn.

loại

Loại của cột. Điều này có thể bao gồm mảng người xác định. Tham khảoPostgresql Hướng dẫn sử dụngĐể biết thêm thông tin về các loại dữ liệu và mảng.

Parent_table

Điều khoản kế thừa tùy chọn Chỉ định danh sách kèo bóng đá cúp c2 tên mà kèo bóng đá cúp c2 này tự động kế thừa tất cả các trường.

Một tên tùy chọn cho một ràng buộc cột hoặc kèo bóng đá cúp c2. Nếu như Không được chỉ định, hệ thống tạo tên.

giá trị

Giá trị mặc định cho một cột. Xem mệnh đề mặc định Để biết thêm thông tin.

điều kiện

Kiểm tra các điều khoản chỉ định các ràng buộc hoặc kiểm tra tính toàn vẹn Những hàng mới hoặc cập nhật phải thỏa mãn để chèn hoặc Cập nhật hoạt động để thành công. Mỗi ràng buộc phải là một Biểu hiện tạo ra một kết quả boolean. Một điều kiện xuất hiện trong một định nghĩa cột nên tham chiếu Giá trị của cột đó chỉ, trong khi một điều kiện xuất hiện dưới dạng một ràng buộc kèo bóng đá cúp c2 có thể tham chiếu nhiều cột.

kèo bóng đá cúp c2

Tên của một kèo bóng đá cúp c2 hiện có được tham chiếu bởi a ràng buộc khóa nước ngoài.

Cột

Tên của một cột trong một kèo bóng đá cúp c2 hiện có được tham chiếu bởi một ràng buộc quan trọng nước ngoài. Nếu không được chỉ định, Khóa chính của kèo bóng đá cúp c2 hiện có được giả định.

Hành động

Một từ khóa cho biết hành động phải thực hiện khi người nước ngoài kèo bóng đá cúp c2 chính bị vi phạm.

Đầu ra

Tạo

Tin nhắn được trả về nếu kèo bóng đá cúp c2 được tạo thành công.

ERROR

Tin nhắn được trả về nếu tạo kèo bóng đá cúp c2 không thành công. Đây là thường đi kèm với một số văn bản mô tả, chẳng hạn như:ERROR: Mối quan hệ 'kèo bóng đá cúp c2' đã tồn tại, mà xảy ra vào thời gian chạy nếu kèo bóng đá cúp c2 được chỉ định đã tồn tại trong cơ sở dữ liệu.

Mô tả

Tạo kèo bóng đá cúp c2sẽ nhập một cái mới, Ban đầu kèo bóng đá cúp c2 trống vào cơ sở dữ liệu hiện tại. Bàn sẽ được "sở hữu" bởi người dùng phát hành lệnh.

mỗiloạicó thể là một đơn giản Loại, một loại phức tạp (đặt) hoặc loại mảng. Mỗi thuộc tính có thể được chỉ định là không null và mỗi cái có thể có giá trị mặc định, được chỉ định bởiMặc định Mệnh đề.

Lưu ý:Kích thước mảng nhất quán trong một Thuộc tính không được thực thi. Điều này có thể sẽ thay đổi trong một Phát hành trong tương lai.

Tạo kèo bóng đá cúp c2Cũng tự động tạo Một loại dữ liệu đại diện cho loại tuple (loại cấu trúc) tương ứng với một hàng của kèo bóng đá cúp c2. Do đó, các kèo bóng đá cúp c2 không thể có cùng tên với bất kỳ kiểu dữ liệu hiện có nào.

kèo bóng đá cúp c2 có thể có không quá 1600 cột (trong thực tế, Giới hạn hiệu quả thấp hơn do các ràng buộc có độ dài tuple). MỘT kèo bóng đá cúp c2 không thể có cùng tên với kèo bóng đá cúp c2 danh mục hệ thống.

Di chuyển mệnh đề

kế thừa (Parent_table[, ...])

Điều khoản kế thừa tùy chọn Chỉ định danh sách các tên kèo bóng đá cúp c2 từ đó kèo bóng đá cúp c2 mới tự động kế thừa tất cả các trường. Nếu như cùng tên trường xuất hiện trong nhiều kèo bóng đá cúp c2 cha mẹ, Postgres báo cáo lỗi trừ khi các định nghĩa trường khớp khớp với Mỗi kèo bóng đá cúp c2 cha mẹ. Nếu không có xung đột định nghĩa, sau đó các trường trùng lặp được hợp nhất để tạo thành một trường duy nhất kèo bóng đá cúp c2 mới. Nếu danh sách trường riêng của kèo bóng đá cúp c2 mới chứa một trường Tên cũng được kế thừa, tuyên bố này cũng phải khớp như vậy (các) trường kế thừa và các định nghĩa trường được hợp nhất thành một.

Các khai báo trường mới và kế thừa cùng tên phải Chỉ định chính xác cùng loại dữ liệu để tránh lỗi. Họ cần không chỉ định các ràng buộc giống hệt nhau --- tất cả các ràng buộc được cung cấp từ bất kỳ tuyên bố nào được hợp nhất với nhau và tất cả đều được áp dụng cho kèo bóng đá cúp c2 mới. Nếu kèo bóng đá cúp c2 mới chỉ định rõ ràng giá trị cho trường, mặc định này ghi đè bất kỳ mặc định nào từ Các tuyên bố kế thừa của lĩnh vực. Nếu không, bất kỳ cha mẹ nào Chỉ định các giá trị mặc định cho trường phải chỉ định giống nhau mặc định hoặc lỗi sẽ được báo cáo.

Postgres tự động cho phép kèo bóng đá cúp c2 được tạo kế thừa các chức năng trên các kèo bóng đá cúp c2 trên nó trong hệ thống phân cấp kế thừa; cái đó là, nếu chúng ta tạo kèo bóng đá cúp c2fookế thừa từBar, sau đó các chức năng chấp nhận Loại TupleBarcũng có thể được áp dụng cho Các phiên bản củafoo. (Hiện tại, điều này hoạt động đáng tin cậy cho các chức năng trên kèo bóng đá cúp c2 cha mẹ đầu tiên hoặc duy nhất, nhưng không rất tốt cho các chức năng trên phụ huynh bổ sung.)

mệnh đề mặc định

mặc địnhgiá trị

mệnh đề mặc đị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 bên trong. Giá trị là bất kỳ biểu thức không thay đổi (lưu ý rằng các phụ chọn và Tham chiếu chéo đến các cột khác trong kèo bóng đá cúp c2 hiện tại không được hỗ trợ). Kiểu dữ liệu của giá trị mặc định phải khớp với Kiểu dữ liệu của định nghĩa cột.

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 một giá trị cho cột. Nếu không có Mệnh đề mặc định, sau đó mặc định là null.

sử dụng

Tạo nhà phân phối kèo bóng đá cúp c2 (
    Tên Varchar (40) mặc định 'Luso Films',
    Số nguyên đã mặc định NextVal ('Nhà phân phối_Serial'),
    Modtime TimeStamp Mặc định ngay ()
);
ở trên gán một giá trị mặc định không đổi theo nghĩa đen cho Cộttên, và sắp xếp cho mặc định Giá trị của cộtDIDđược tạo bởi Chọn giá trị tiếp theo của một đối tượng chuỗi. Giá trị mặc định củamodtimesẽ là thời gian mà hàng được chèn.

Thật đáng để nhận xét rằng

Thời gian mod thời gian mặc định 'now'
Sẽ tạo ra một kết quả có lẽ không phải là ý định: chuỗi'bây giờ'sẽ bị ép buộc Giá trị dấu thời gian ngay lập tức và do đó giá trị mặc định củamodtimesẽ luôn là thời điểm của Tạo kèo bóng đá cúp c2. Khó khăn này được tránh bằng cách chỉ định giá trị mặc định như một cuộc gọi hàm.

kèo bóng đá cúp c2 cột

[kèo bóng đá cúp c2instraint_name] 
    Null | Không phải null | Độc đáo | Khóa chính | KIỂM TRAđiều kiện|
    Tài liệu tham khảoReftable[(refcolumn)]]
     [ CUỘC THI ĐẤUMatchType]
     [Khi xóaHành động] 
     [Trên cập nhậtHành động]
     [[Không] có thể thu hồi] 
     [Ban đầuKIỂM TRA]

Đầu vào

một tên tùy ý được đặt cho một mệnh đề kèo bóng đá cúp c2.

null

Cột được phép chứa các giá trị null. Đây là mặc định.

không null

Cột không được phép chứa các giá trị null. Cái này tương đương với kiểm tra kèo bóng đá cúp c2 cột (Cộtkhông null).

độc đáo

Cột phải có các giá trị duy nhất. TRONGPostgresĐiều này được thi hành bởi tự động tạo một chỉ mục duy nhất trên cột.

Khóa chính

Cột này là khóa chính, ngụ ý rằng khác các kèo bóng đá cúp c2 có thể dựa vào cột này như một định danh duy nhất cho hàng. Cả độc đáo và không null đều được ngụ ý bởi chính CHÌA KHÓA. Xem khóa chính để biết thêm thông tin.

điều kiện

Điều kiện kèo bóng đá cúp c2 có giá trị boolean tùy ý.

Mô tả

Các điều khoản kèo bóng đá cúp c2 tùy chọn chỉ định các kèo bóng đá cúp c2 hoặc kiểm tra Những hàng mới hoặc được cập nhật phải thỏa mãn để chèn hoặc cập nhật Hoạt động để thành công.

Một ràng buộc là một quy tắc được đặt tên: một đối tượng SQL giúp Xác định các bộ giá trị hợp lệ bằng cách đặt giới hạn vào kết quả của Chèn, cập nhật hoặc xóa các hoạt động được thực hiện trên kèo bóng đá cúp c2.

Có hai cách để xác định các ràng buộc toàn vẹn: kèo bóng đá cúp c2 các ràng buộc, được bảo hiểm sau và các ràng buộc cột, được bảo hiểm đây.

Một ràng buộc cột là một ràng buộc toàn vẹn được định nghĩa là một phần của định nghĩa cột và về mặt logic trở thành một kèo bóng đá cúp c2 ràng buộc ngay khi nó được tạo ra. Các ràng buộc cột Có sẵn là:

Khóa chính
Tài liệu tham khảo
độc đáo
Kiểm tra
không null

không phải Null kèo bóng đá cúp c2

[kèo bóng đá cúp c2tên] không null

ràng buộc không null chỉ định một quy tắc mà một cột có thể Chỉ chứa các giá trị không null. Đây chỉ là một ràng buộc cột, và không được phép làm ràng buộc kèo bóng đá cúp c2.

Outputs

status
ERROR: ExecAppend: Không thể thêm giá trị null vào thuộc tính NULL "Cột".

Lỗi này xảy ra khi chạy nếu người ta cố gắng Chèn một giá trị null vào một cột có một kèo bóng đá cúp c2 null.

Mô tả

sử dụng

Xác định hai ràng buộc cột không null trên kèo bóng đá cúp c2Nhà phân phối, một trong số đó là rõ kèo bóng đá cúp c2 được đưa ra một tên:

Tạo nhà phân phối kèo bóng đá cúp c2 (
    DID DID DOMAL (3) RIÊNG TƯ NO_NULL KHÔNG NULL,
    Tên varchar (40) không phải null
);

kèo bóng đá cúp c2 duy nhất

[kèo bóng đá cúp c2instraint_name] duy nhất

Đầu vào

instraint_name

một tên tùy ý được đặt cho một mệnh đề kèo bóng đá cúp c2.

OUTPUTS

status
Lỗi: Không thể chèn một khóa trùng lặp thành một chỉ mục duy nhất.

Lỗi này xảy ra khi chạy nếu người ta cố gắng Chèn một giá trị trùng lặp vào một cột.

Mô tả

Biên giới duy nhất chỉ định một quy tắc mà một nhóm của một hoặc các cột khác biệt hơn của kèo bóng đá cúp c2 có thể chỉ chứa duy nhất giá trị.

Định nghĩa cột của các cột được chỉ định không phải bao gồm một kèo bóng đá cúp c2 không null để được đưa vào kèo bóng đá cúp c2 độc đáo. Có nhiều hơn một giá trị null trong một Cột không có kèo bóng đá cúp c2 không null, không vi phạm kèo bóng đá cúp c2 độc đáo. (Điều này lệch khỏiSQL92Định nghĩa, nhưng là một điều hợp lý hơn quy ước. Xem phần về khả năng tương thích để biết thêm chi tiết.)

Mỗi ràng buộc cột duy nhất phải đặt tên cho một cột là khác với tập hợp các cột được đặt tên bởi bất kỳ duy nhất nào khác hoặc ràng buộc khóa chính được xác định cho kèo bóng đá cúp c2.

Lưu ý: PostgresTự động tạo một chỉ mục duy nhất cho mỗi chỉ số duy nhất kèo bóng đá cúp c2, để đảm bảo tính toàn vẹn dữ liệu. Xem Tạo chỉ mục Để biết thêm thông tin.

sử dụng

Xác định một kèo bóng đá cúp c2 duy nhất chotêncột:

Tạo nhà phân phối kèo bóng đá cúp c2 (
    đã làm thập phân (3),
    Tên Varchar (40) duy nhất
);
tương đương với phần sau được chỉ định làm kèo bóng đá cúp c2 Ràng buộc:
Tạo nhà phân phối kèo bóng đá cúp c2 (
    đã làm thập phân (3),
    Tên Varchar (40),
    Độc đáo (tên)
);

kèo bóng đá cúp c2 kiểm tra

[kèo bóng đá cúp c2] Kiểm tra (điều kiện)

Đầu vào

urdaint_name

một tên tùy ý được đặt cho một mệnh đề kèo bóng đá cúp c2.

điều kiện

Bất kỳ biểu thức có điều kiện hợp lệ nào đánh giá thành a Kết quả boolean.

Đầu ra

trạng thái

Lỗi: ExecAppend: bị từ chối do kiểm tra kèo bóng đá cúp c2 "instraint_name".

Lỗi này xảy ra khi chạy nếu người ta cố gắng chèn một giá trị bất hợp pháp vào một cột chủ đề một kèo bóng đá cúp c2 kiểm tra.

Mô tả

Biên giới kiểm tra chỉ định một hạn chế chung trên Các giá trị cho phép trong một cột. Hạn chế kiểm tra cũng là được phép làm ràng buộc kèo bóng đá cúp c2.

Kiểm tra chỉ định biểu thức boolean chung liên quan đến một hoặc nhiều cột của kèo bóng đá cúp c2. Một hàng mới sẽ bị từ chối nếu Biểu thức Boolean đánh giá sai khi áp dụng cho giá trị của hàng.

Hiện tại, các biểu thức kiểm tra không thể chứa các lựa chọn phụ cũng không đề cập đến các biến khác ngoài các trường của hiện tại hàng ngang.

Tiêu chuẩn SQL92 nói rằng các ràng buộc cột kiểm tra có thể Chỉ tham khảo cột họ áp dụng cho; Chỉ kiểm tra kèo bóng đá cúp c2 Các ràng buộc có thể tham khảo nhiều cột.PostgresKhông thực thi điều này sự hạn chế. Nó xử lý các ràng buộc kiểm tra cột và kèo bóng đá cúp c2 như nhau.

kèo bóng đá cúp c2 khóa chính

[kèo bóng đá cúp c2instraint_name] Khóa chính

Đầu vào

urtaint_name

một tên tùy ý được đặt cho một mệnh đề kèo bóng đá cúp c2.

Đầu ra

Lỗi: Không thể chèn a Khóa trùng lặp thành một chỉ mục duy nhất.

Điều này xảy ra trong thời gian chạy nếu người ta cố gắng chèn một Giá trị trùng lặp thành một cột tùy theo khóa chính kèo bóng đá cúp c2.

Mô tả

Biên giới khóa chính chỉ định rằng một cột của một kèo bóng đá cúp c2 chỉ có thể chứa duy nhất (không trùng lặp), không null giá trị. Định nghĩa của cột được chỉ định không có để bao gồm một ràng buộc không rõ ràng không được đưa vào một ràng buộc khóa chính.

Chỉ có thể chỉ định một khóa chính cho kèo bóng đá cúp c2, cho dù như một ràng buộc cột hoặc một ràng buộc kèo bóng đá cúp c2.

ghi chú

PostgresTự động Tạo một chỉ mục duy nhất để đảm bảo tính toàn vẹn của dữ liệu (xem Tạo Câu lệnh chỉ mục).

ràng buộc khóa chính nên đặt tên cho một tập hợp các cột khác với các bộ cột khác được đặt tên bởi bất kỳ Ràng buộc duy nhất được xác định cho cùng một kèo bóng đá cúp c2, vì nó sẽ dẫn đến sự trùng lặp của các chỉ số tương đương và không sinh sản Chi phí thời gian chạy bổ sung. Tuy nhiên,PostgresKhông cụ thể không cho phép cái này.

Tài liệu tham khảo kèo bóng đá cúp c2

[kèo bóng đá cúp c2instraint_name] Tài liệu tham khảoReftable[(refcolumn)]] 
    [ CUỘC THI ĐẤUMatchType]
    [Khi xóaHành động] 
    [Trên cập nhậtHành động]
    [[Không] có thể thu hồi] 
    [Ban đầuKiểm tra thời gian]

ràng buộc tài liệu tham khảo Chỉ định một quy tắc mà một cột Giá trị được kiểm tra so với các giá trị của một cột khác. Tài liệu tham khảo cũng có thể được chỉ định là một phần của kèo bóng đá cúp c2 khóa nước ngoài ràng buộc.

Đầu vào

instraint_name

một tên tùy ý được đặt cho một mệnh đề kèo bóng đá cúp c2.

Reftable

kèo bóng đá cúp c2 chứa dữ liệu để kiểm tra chống lại.

refcolumn

Cột trongReftableĐể kiểm tra dữ liệu chống lại. Nếu điều này không được chỉ định, khóa chính của TheReftableIS đã sử dụng.

khớpMatchType

Có ba loại phù hợp: khớp đầy đủ, khớp Một phần, và loại đối sánh mặc định nếu không được chỉ định. Kết hợp đầy đủ sẽ không cho phép một cột của một cột Khóa nước ngoài là NULL trừ khi tất cả các cột khóa nước ngoài là null. Loại đối sánh mặc định cho phép một số nước ngoài các cột chính để được vô hiệu trong khi các phần khác của nước ngoài Khóa không phải là null. Khớp một phần hiện không được hỗ trợ.

trên xóaHành động

Hành động cần làm khi hàng được tham chiếu trong kèo bóng đá cúp c2 tham chiếu đang bị xóa. Có hành động sau.

Không hành động

Sản xuất lỗi nếu khóa nước ngoài vi phạm. Đây là mặc định.

Hạn chế

giống như không có hành động.

Cascade

Xóa bất kỳ hàng nào tham chiếu hàng ngang.

SET NULL

Đặt các giá trị cột tham chiếu thành NULL.

Đặt mặc định

Đặt các giá trị cột tham chiếu thành chúng Giá trị mặc định.

Khi cập nhậtHành động

Hành động cần làm khi một cột được tham chiếu trong kèo bóng đá cúp c2 tham chiếu đang được cập nhật lên một giá trị mới. Nếu như Hàng được cập nhật, nhưng cột được tham chiếu không Thay đổi, không có hành động nào được thực hiện. Có những điều sau đây hành động.

Không hành động

Sản xuất lỗi nếu khóa nước ngoài vi phạm. Đây là mặc định.

Hạn chế

giống như không có hành động.

Cascade

Cập nhật giá trị của cột tham chiếu lên giá trị mới của cột được tham chiếu.

Đặt NULL

Đặt các giá trị cột tham chiếu thành NULL.

Đặt mặc định

Đặt các giá trị cột tham chiếu thành chúng Giá trị mặc định.

[không] có thể bảo vệ

Điều này kiểm soát xem liệu kèo bóng đá cúp c2 có thể được hoãn lại đến cuối giao dịch. Nếu có thể bảo vệ, đặt Các kèo bóng đá cúp c2 tất cả đều bị hoãn lại sẽ khiến chìa khóa nước ngoài chỉ được kiểm tra vào cuối giao dịch. KHÔNG Có thể bảo vệ là mặc định.

ban đầuKIỂM TRA

KIỂM TRAcó hai Các giá trị có thể chỉ định thời gian mặc định để kiểm tra kèo bóng đá cúp c2.

Trì hoãn

Chỉ kiểm tra kèo bóng đá cúp c2 ở cuối của giao dịch.

ngay lập tức

Kiểm tra kèo bóng đá cúp c2 sau mỗi câu lệnh. Đây là mặc định.

đầu ra

trạng thái
Lỗi:tênTính toàn vẹn tham chiếu Vi phạm - khóa được tham chiếu từkèo bóng đá cúp c2Không tìm thấy trongReftable

Lỗi này xảy ra khi chạy nếu người ta cố gắng Chèn một giá trị vào một cột không có một cột phù hợp trong kèo bóng đá cúp c2 được tham chiếu.

Mô tả

ràng buộc cột TÀI LIỆU THAM KHẢO Chỉ định rằng một cột của một kèo bóng đá cúp c2 chỉ phải chứa các giá trị phù hợp với các giá trị trong một cột được tham chiếu của kèo bóng đá cúp c2 được tham chiếu.

Một giá trị được thêm vào cột này được khớp với các giá trị của kèo bóng đá cúp c2 được tham chiếu và cột được tham chiếu bằng cách sử dụng loại phù hợp. Ngoài ra, khi dữ liệu cột được tham chiếu là đã thay đổi, các hành động được chạy theo cột này phù hợp dữ liệu.

ghi chú

Hiện tạiPostgresChỉ Hỗ trợ khớp đầy đủ và loại khớp mặc định. Ngoài ra, các cột được tham chiếu được cho là các cột của một Ràng buộc duy nhất trong kèo bóng đá cúp c2 được tham chiếu, tuy nhiênPostgreskhông thực thi cái này.

ràng buộc kèo bóng đá cúp c2

[Tên kèo bóng đá cúp c2] Khóa chính |  ĐỘC NHẤT  (Cột[, ...])
[Tên kèo bóng đá cúp c2] Kiểm tra (kèo bóng đá cúp c2)
[Tên kèo bóng đá cúp c2] Khóa ngoại (Cột[, ...]) 
                     Tài liệu tham khảoReftable[(refcolumn[, ...])]]
                      [ CUỘC THI ĐẤUMatchType] 
                      [Khi xóaHành động] 
                      [Trên cập nhậtHành động]
                      [[Không] có thể thu hồi] 
                      [Ban đầuKiểm tra thời gian]

Đầu vào

instraint_name

một tên tùy ý được đặt cho một mệnh đề kèo bóng đá cúp c2.

cột[, ...]

Tên cột để xác định một chỉ mục duy nhất và, đối với khóa chính, một kèo bóng đá cúp c2 không null.

Kiểm tra (kèo bóng đá cúp c2)

một biểu thức boolean được đánh giá là kèo bóng đá cúp c2.

đầu ra

Đầu ra có thể cho mệnh đề ràng buộc kèo bóng đá cúp c2 là Giống như đối với các phần tương ứng của ràng buộc cột mệnh đề.

Mô tả

Một ràng buộc kèo bóng đá cúp c2 là một ràng buộc toàn vẹn được xác định trên một hoặc nhiều cột của kèo bóng đá cúp c2. Bốn biến thể của "kèo bóng đá cúp c2 Ràng buộc "là:

độc đáo
Kiểm tra
Khóa chính
Khóa nước ngoài

kèo bóng đá cúp c2 duy nhất

[kèo bóng đá cúp c2] duy nhất (Cột[, ...])

Đầu vào

một tên tùy ý được đặt cho một mệnh đề kèo bóng đá cúp c2.

Cột

tên của một cột trong kèo bóng đá cúp c2.

Đầu ra

trạng thái
Lỗi: Không thể chèn khóa trùng lặp vào A Chỉ mục duy nhất

Lỗi này xảy ra khi chạy nếu người ta cố gắng Chèn một giá trị trùng lặp vào một cột.

Mô tả

ràng buộc duy nhất chỉ định một quy tắc mà một nhóm của một hoặc các cột khác biệt hơn của kèo bóng đá cúp c2 có thể chỉ chứa duy nhất giá trị. Hành vi của ràng buộc kèo bóng đá cúp c2 duy nhất là Tương tự như đối với các ràng buộc cột, với phần bổ sung khả năng để trải dài nhiều cột.

Xem phần trên kèo bóng đá cúp c2 cột duy nhất để biết thêm chi tiết.

sử dụng

Ngăn chặn các hàng trùng lặp trong các nhà phân phối kèo bóng đá cúp c2:

Tạo nhà phân phối kèo bóng đá cúp c2 (
    đã làm thập phân (3),
    Tên Varchar (40),
    Độc đáo (đã làm, tên)
);

kèo bóng đá cúp c2 khóa chính

[kèo bóng đá cúp c2instraint_name] Khóa chính (cột[, ...])

Đầu vào

instraint_name

một tên tùy ý được đặt cho một mệnh đề kèo bóng đá cúp c2.

Cột[, ...]

Tên của một hoặc nhiều cột trong kèo bóng đá cúp c2.

OUTPUTS

trạng thái
Lỗi: Không thể chèn khóa trùng lặp vào A Chỉ mục duy nhất.

Điều này xảy ra vào thời điểm chạy nếu người ta cố gắng chèn giá trị trùng lặp thành một cột theo một kèo bóng đá cúp c2 khóa chính.

Mô tả

ràng buộc khóa chính chỉ định một quy tắc mà một nhóm của một hoặc nhiều cột riêng biệt của kèo bóng đá cúp c2 chỉ có thể chứa độc đáo (không trùng lặp), giá trị không null. Cột các định nghĩa của các cột được chỉ định không phải bao gồm một Không phải là ràng buộc không được đưa vào khóa chính ràng buộc.

Ràng buộc kèo bóng đá cúp c2 chính tương tự như đối với các ràng buộc cột, với khả năng bổ sung của bao gồm nhiều cột.

Tham khảo phần về kèo bóng đá cúp c2 cột chính Để biết thêm thông tin.

Tài liệu tham khảo kèo bóng đá cúp c2

[kèo bóng đá cúp c2instraint_name] Khóa nước ngoài (Cột[, ...])
    Tài liệu tham khảoReftable[(refcolumn[, ...])]]] 
    [ CUỘC THI ĐẤUMatchType]
    [Khi xóaHành động] 
    [Trên cập nhậtHành động]
    [[Không] có thể thu hồi]
    [Ban đầuKiểm tra]

ràng buộc tài liệu tham khảo Chỉ định một quy tắc mà một cột giá trị hoặc tập hợp các giá trị cột được kiểm tra đối với các giá trị trong kèo bóng đá cúp c2 khác.

Đầu vào

Một tên tùy ý được đặt cho một mệnh đề kèo bóng đá cúp c2.

cột[, ...]

Tên của một hoặc nhiều cột trong kèo bóng đá cúp c2.

Reftable

kèo bóng đá cúp c2 chứa dữ liệu để kiểm tra chống lại.

Cột được tham chiếu[,, ...]

Một hoặc nhiều cột trongReftableĐể kiểm tra dữ liệu chống lại. Nếu điều này không được chỉ định, khóa chính của TheReftableIS đã sử dụng.

khớpMatchType

Có ba loại phù hợp: khớp đầy đủ, khớp Một phần, và loại đối sánh mặc định nếu không được chỉ định. Kết hợp đầy đủ sẽ không cho phép một cột của một cột Khóa nước ngoài là NULL trừ khi tất cả các cột khóa nước ngoài là null. Loại đối sánh mặc định cho phép một số nước ngoài các cột chính để được vô hiệu trong khi các phần khác của nước ngoài Khóa không phải là null. Khớp một phần hiện không được hỗ trợ.

Khi xóaHành động

Hành động cần làm khi hàng được tham chiếu trong kèo bóng đá cúp c2 tham chiếu đang bị xóa. Có hành động sau.

Không hành động

Sản xuất lỗi nếu khóa nước ngoài vi phạm. Đây là mặc định.

Hạn chế

giống như không có hành động.

Cascade

Xóa bất kỳ hàng nào tham chiếu hàng ngang.

Đặt NULL

Đặt các giá trị cột tham chiếu thành NULL.

Đặt mặc định

Đặt các giá trị cột tham chiếu thành chúng Giá trị mặc định.

trên cập nhậtHành động

Hành động cần làm khi một cột được tham chiếu trong kèo bóng đá cúp c2 tham chiếu đang được cập nhật lên một giá trị mới. Nếu như Hàng được cập nhật, nhưng cột được tham chiếu không Thay đổi, không có hành động nào được thực hiện. Có những điều sau đây hành động.

Không hành động

Sản xuất lỗi nếu khóa nước ngoài vi phạm. Đây là mặc định.

Hạn chế

Cập nhật hàng không được tham chiếu.

Cascade

Cập nhật giá trị của cột tham chiếu lên giá trị mới của cột được tham chiếu.

Đặt NULL

Đặt các giá trị cột tham chiếu thành NULL.

Đặt mặc định

Đặt các giá trị cột tham chiếu thành chúng Giá trị mặc định.

[không] có thể hoãn lại

Điều này kiểm soát xem liệu kèo bóng đá cúp c2 có thể được hoãn lại đến cuối giao dịch. Nếu có thể bảo vệ, đặt Các kèo bóng đá cúp c2 tất cả đều bị hoãn lại sẽ khiến chìa khóa nước ngoài chỉ được kiểm tra vào cuối giao dịch. KHÔNG Có thể bảo vệ là mặc định.

ban đầuKiểm tra thời gian

KIỂM TRAcó hai Các giá trị có thể chỉ định thời gian mặc định để kiểm tra kèo bóng đá cúp c2.

ngay lập tức

Kiểm tra kèo bóng đá cúp c2 sau mỗi câu lệnh. Đây là mặc định.

Trì hoãn

Chỉ kiểm tra kèo bóng đá cúp c2 ở cuối của giao dịch.

đầu ra

status
Lỗi:tênTính toàn vẹn tham chiếu Vi phạm - khóa được tham chiếu từkèo bóng đá cúp c2Không tìm thấy trongReftable

Lỗi này xảy ra khi chạy nếu người ta cố gắng Chèn một giá trị vào một cột không có một cột phù hợp trong kèo bóng đá cúp c2 được tham chiếu.

Mô tả

Biên giới khóa nước ngoài chỉ định một quy tắc mà một nhóm của một hoặc nhiều cột riêng biệt của kèo bóng đá cúp c2 có liên quan đến một Nhóm các cột riêng biệt trong kèo bóng đá cúp c2 được tham chiếu.

Ràng buộc kèo bóng đá cúp c2 khóa nước ngoài tương tự như đối với các ràng buộc cột, với khả năng bổ sung của bao gồm nhiều cột.

Tham khảo phần về kèo bóng đá cúp c2 cột chính của nước ngoài Để biết thêm thông tin.

sử dụng

Tạo bộ phim và nhà phân phối kèo bóng đá cúp c2:

Tạo phim kèo bóng đá cúp c2 (
     ký tự mã (5) ràng buộc khóa chính FirstKey,
     Nhân vật tiêu đề khác nhau (40) không phải NULL,
     Dest Dest (3) không phải NULL,
     ngày_prod ngày,
     loại char (10),
     Khoảng thời gian Len giờ đến phút
);
Tạo nhà phân phối kèo bóng đá cúp c2 (
     DID DID DID
     Tên Varchar (40) không kiểm tra NULL (Tên < '')
);

Tạo kèo bóng đá cúp c2 với mảng 2 chiều:

Tạo mảng kèo bóng đá cúp c2 (
          vector int [] []
          );

Xác định một ràng buộc kèo bóng đá cúp c2 duy nhất cho các bộ phim kèo bóng đá cúp c2. ĐỘC NHẤT Các ràng buộc kèo bóng đá cúp c2 có thể được xác định trên một hoặc nhiều cột của bàn:

Tạo phim kèo bóng đá cúp c2 (
    mã char (5),
    Tiêu đề Varchar (40),
    đã làm thập phân (3),
    ngày_prod ngày,
    loại char (10),
    Khoảng thời gian Len giờ đến phút,
    Sản xuất ràng buộc duy nhất (DATE_PROD)
);

Xác định kèo bóng đá cúp c2 cột kiểm tra:

Tạo nhà phân phối kèo bóng đá cúp c2 (
    đã kiểm tra thập phân (3) (đã làm 100),
    Tên Varchar (40)
);

Xác định ràng buộc kèo bóng đá cúp c2 kiểm tra:

Tạo nhà phân phối kèo bóng đá cúp c2 (
    đã làm thập phân (3),
    Tên Varchar (40)
    Kiểm tra ràng buộc Con1 (DID 100 và tên '')
);

Xác định ràng buộc kèo bóng đá cúp c2 chính cho các bộ phim kèo bóng đá cúp c2. Các ràng buộc kèo bóng đá cúp c2 chính có thể được xác định trên một hoặc nhiều Các cột của kèo bóng đá cúp c2:

Tạo phim kèo bóng đá cúp c2 (
    mã char (5),
    Tiêu đề Varchar (40),
    đã làm thập phân (3),
    ngày_prod ngày,
    loại char (10),
    Khoảng thời gian Len giờ đến phút,
    Ràng buộc Code_Title Khóa chính (Mã, Tiêu đề)
);

Xác định ràng buộc cột chính cho kèo bóng đá cúp c2 nhà phân phối. Các ràng buộc cột chính chỉ có thể được xác định trên một cột của kèo bóng đá cúp c2 (hai ví dụ sau đây là tương đương):

Tạo nhà phân phối kèo bóng đá cúp c2 (
    đã làm thập phân (3),
    Tên char thay đổi (40),
    Khóa chính (đã làm)
);
Tạo nhà phân phối kèo bóng đá cúp c2 (
    đã làm khóa chính (3)
    Tên Varchar (40)
);

Tương thích

SQL92

Ngoài kèo bóng đá cúp c2 tạm thời có thể nhìn thấy cục bộ, SQL92 cũng xác định một tuyên bố kèo bóng đá cúp c2 tạm thời toàn cầu và Tùy chọn là một mệnh đề cam kết:

Tạo kèo bóng đá cúp c2 tạm thời toàn cầukèo bóng đá cúp c2(Cột loại[[
    MẶC ĐỊNHgiá trị] [kèo bóng đá cúp c2Cột_constraint] [, ...])
    [kèo bóng đá cúp c2Table_Constraint] [Về cam kết xóa | Bảo quản hàng]

Đối với các kèo bóng đá cúp c2 tạm thời, việc tạo kèo bóng đá cúp c2 tạm thời toàn cầu Tên tuyên bố một kèo bóng đá cúp c2 mới có thể nhìn thấy cho các khách hàng khác và Xác định các cột và các ràng buộc của kèo bóng đá cúp c2.

Tùy chọn trên Điều khoản cam kết tạo kèo bóng đá cúp c2 tạm thời Chỉ định liệu kèo bóng đá cúp c2 tạm thời có nên được làm trống hay không của các hàng bất cứ khi nào cam kết được thực thi. Nếu điều khoản cam kết là Bỏ qua, SQL92 chỉ định rằng mặc định đang bị xóa cam kết Hàng. Tuy nhiên,Postgres' Hành vi luôn giống như trên các hàng bảo quản cam kết.

mệnh đề duy nhất

SQL92 Chỉ định một số khả năng bổ sung cho ĐỘC NHẤT:

Định nghĩa ràng buộc kèo bóng đá cúp c2:

[kèo bóng đá cúp c2] duy nhất (Cột[, ...])
    [Ban đầu hoãn lại | Ban đầu ngay lập tức]
    [[Không] có thể bảo vệ]

Định nghĩa kèo bóng đá cúp c2 cột:

[kèo bóng đá cúp c2] duy nhất
      [Ban đầu hoãn lại | Ban đầu ngay lập tức]
      [[Không] có thể bảo vệ]

mệnh đề NULL

NULL "kèo bóng đá cúp c2" (thực ra là không kèo bóng đá cúp c2) là mộtPostgresPhần mở rộng sang SQL92 được bao gồm để đối xứng với mệnh đề không null (và để tương thích với một số RDBMS khác). Vì nó là mặc định cho bất kỳ cột nào, sự hiện diện của nó chỉ đơn giản là tiếng ồn.

[kèo bóng đá cúp c2] null

Không phải mệnh đề NULL

SQL92 Chỉ định một số khả năng bổ sung cho không VÔ GIÁ TRỊ:

[kèo bóng đá cúp c2instraint_name] không phải null 
    [Ban đầu hoãn lại | Ban đầu ngay lập tức]
    [[Không] có thể bảo vệ]

mệnh đề kèo bóng đá cúp c2

SQL92 Chỉ định một số khả năng bổ sung cho các kèo bóng đá cúp c2, và cũng xác định các xác nhận và miền hạn chế.

Lưu ý: Postgres​​chưa hỗ trợ miền hoặc xác nhận.

Khẳng định là một loại ràng buộc toàn vẹn đặc biệt và chia sẻ cùng một không gian tên như các ràng buộc khác. Tuy nhiên, một Khẳng định không nhất thiết phải phụ thuộc vào một cụ thể kèo bóng đá cúp c2 như các ràng buộc, do đó SQL-92 cung cấp Tuyên bố xác nhận như một phương pháp thay thế để xác định Ràng buộc:

Tạo xác nhậntênKiểm tra (điều kiện)

Các kèo bóng đá cúp c2 miền được xác định bởi Tạo tên miền hoặc thay đổi Báo cáo miền:

kèo bóng đá cúp c2 tên miền:

[kèo bóng đá cúp c2urdaint_name] Kiểm trakèo bóng đá cúp c2[ban đầu hoãn lại | Ban đầu ngay lập tức]
    [[Không] có thể bảo vệ]

Định nghĩa ràng buộc kèo bóng đá cúp c2:

[kèo bóng đá cúp c2] khóa chính (Cột, ...) | Khóa nước ngoàikèo bóng đá cúp c2| ĐỘC NHẤTkèo bóng đá cúp c2| KIỂM TRAkèo bóng đá cúp c2[Ban đầu hoãn lại | Ban đầu ngay lập tức]
    [[Không] có thể bảo vệ]

Định nghĩa kèo bóng đá cúp c2 cột:

[kèo bóng đá cúp c2constraint_name] không phải null | Khóa chính | Khóa nước ngoàikèo bóng đá cúp c2| Độc đáo | KIỂM TRAkèo bóng đá cúp c2[Ban đầu hoãn lại | Ban đầu ngay lập tức]
    [[Không] có thể bảo vệ]

Một định nghĩa kèo bóng đá cúp c2 có thể chứa một trì hoãn mệnh đề thuộc tính và/hoặc một mệnh đề chế độ kèo bóng đá cúp c2 ban đầu, theo bất kỳ thứ tự nào.

Không thể bảo vệ

Hạn chế phải được kiểm tra ở cuối mỗi tuyên bố. Đặt các kèo bóng đá cúp c2 tất cả đều bị hoãn lại sẽ không có ảnh hưởng đến loại kèo bóng đá cúp c2 này.

Có thể bảo vệ

Điều này kiểm soát xem liệu kèo bóng đá cúp c2 có thể được hoãn lại đến cuối giao dịch. Nếu đặt kèo bóng đá cúp c2 tất cả Hoãn lại được sử dụng hoặc kèo bóng đá cúp c2 được đặt thành ban đầu Hoãn lại, điều này sẽ khiến chìa khóa nước ngoài được kiểm tra Chỉ khi kết thúc giao dịch.

Lưu ý: Đặt HẠN CHẾThay đổi kèo bóng đá cúp c2 khóa nước ngoài chỉ chế độ cho giao dịch hiện tại.

Ban đầu ngay lập tức

Kiểm tra kèo bóng đá cúp c2 sau mỗi câu lệnh. Đây là mặc định.

ban đầu được hoãn lại

Chỉ kiểm tra kèo bóng đá cúp c2 ở cuối của giao dịch.

SECECT mệnh đề

SQL92 Chỉ định một số khả năng bổ sung để kiểm tra Các ràng buộc kèo bóng đá cúp c2 hoặc cột.

Định nghĩa ràng buộc kèo bóng đá cúp c2:

[kèo bóng đá cúp c2] Kiểm tra (giá trịđiều kiện) 
      [Ban đầu hoãn lại | Ban đầu ngay lập tức]
      [[Không] có thể bảo vệ]

Định nghĩa kèo bóng đá cúp c2 cột:

[kèo bóng đá cúp c2instraint_name] Kiểm tra (giá trịđiều kiện) 
      [Ban đầu hoãn lại | Ban đầu ngay lập tức]
      [[Không] có thể bảo vệ]

mệnh đề khóa chính

SQL92 Chỉ định một số khả năng bổ sung cho chính CHÌA KHÓA:

Định nghĩa ràng buộc kèo bóng đá cúp c2:

[kèo bóng đá cúp c2urdaint_name] Khóa chính (Cột[, ...]) 
    [Ban đầu hoãn lại | Ban đầu ngay lập tức]
    [[Không] có thể bảo vệ]

Định nghĩa kèo bóng đá cúp c2 cột:

[kèo bóng đá cúp c2] Khóa chính 
    [Ban đầu hoãn lại | Ban đầu ngay lập tức]
    [[Không] có thể bảo vệ]

kế thừa

Nhiều kế thừa qua mệnh đề kế thừa là APostgresMở rộng ngôn ngữ. SQL99 (nhưng không phải SQL92) xác định quyền thừa kế bằng cách sử dụng Cú pháp khác nhau và ngữ nghĩa khác nhau. Kiểu SQL99 Kế thừa chưa được hỗ trợ bởiPostgres.