Phiên bản được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên bản phát triển: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ạo chế độ kèo bóng đá cúp c2

Tạo chế độ kèo bóng đá cúp c2 - Xác định chế độ kèo bóng đá cúp c2 mới

Synopsis

Tạo [hoặc thay thế] [Temp | Tạm thời] [đệ quy] kèo bóng đá cúp c2tên[(Cột_name[, ...])]]View_option_name[=View_Option_Value] [, ...])]]Truy vấn[với [Cascaded | Cục bộ] kiểm tra tùy chọn]

Mô tả

Tạo chế độ kèo bóng đá cúp c2Xác định chế độ kèo bóng đá cúp c2 của truy vấn. Quan điểm không được vật chất hóa.

Tạo hoặc thay thế kèo bóng đá cúp c2là tương tự, nhưng nếu một chế độ kèo bóng đá cúp c2 cùng tên đã tồn tại, nó sẽ được thay thế. Truy vấn mới phải tạo cùng các cột được tạo bởi truy vấn kèo bóng đá cúp c2 hiện có (nghĩa là cùng tên cột theo cùng một thứ tự và với cùng một loại dữ liệu), nhưng nó có thể thêm các cột bổ sung vào cuối danh sách.

Nếu một tên lược đồ được đưa ra (ví dụ:Tạo kèo bóng đá cúp c2 myschema.myview ...) Sau đó, chế độ kèo bóng đá cúp c2 được tạo trong lược đồ được chỉ định. Nếu không, nó được tạo ra trong lược đồ hiện tại.

tham số

tạm thờihoặcTemp

Nếu được chỉ định, chế độ kèo bóng đá cúp c2 được tạo dưới dạng chế độ kèo bóng đá cúp c2 tạm thời. Các chế độ kèo bóng đá cúp c2 tạm thời được tự động bỏ vào cuối phiên hiện tại.

Nếu bất kỳ bảng nào được tham chiếu bởi chế độ kèo bóng đá cúp c2 là tạm thời, chế độ kèo bóng đá cúp c2 được tạo như một chế độ kèo bóng đá cúp c2 tạm thời (cho dùtạm thờiđược chỉ định hay không).

Kiểu đệ quy

Tạo chế độ kèo bóng đá cúp c2 đệ quy. Cú pháp

Tạo chế độ kèo bóng đá cúp c2 đệ quy [lược đồ. ]View_Name(Cột_names) Khi chọn...;

là tương đương với

Tạo chế độ kèo bóng đá cúp c2 [lược đồ. ]View_NameNhư với đệ quyView_Name(Cột_Names) như (chọn...) ChọnCột_namestừView_Name;

Danh sách tên cột kèo bóng đá cúp c2 phải được chỉ định cho chế độ kèo bóng đá cúp c2 đệ quy.

tên

Tên (tùy chọn Lược đồ theo trình độ) của một chế độ kèo bóng đá cúp c2 sẽ được tạo.

Cột_name

Một danh sách tùy chọn các tên được sử dụng cho các cột của chế độ kèo bóng đá cúp c2. Nếu không được đưa ra, tên cột được suy ra từ truy vấn.

với (view_option_name[=View_Option_Value] [, ...])

Điều khoản này chỉ định các tham số tùy chọn cho chế độ kèo bóng đá cúp c2; Các tham số sau được hỗ trợ:

Check_option(enum)

Tham số này có thể làcục bộhoặcCascaded, và tương đương với chỉ địnhvới [Cascaded | Cục bộ] kiểm tra tùy chọn(kèo bóng đá cúp c2 bên dưới).

Security_Barrier(Boolean)

Điều này nên được sử dụng nếu chế độ kèo bóng đá cúp c2 nhằm cung cấp bảo mật cấp hàng. Nhìn thấyPhần 39.5Để biết chi tiết đầy đủ.

Security_invoker(Boolean)

Tùy chọn này khiến các quan hệ cơ sở cơ bản được kiểm tra đối với các đặc quyền của người dùng của chế độ kèo bóng đá cúp c2 thay vì chủ sở hữu chế độ kèo bóng đá cúp c2. kèo bóng đá cúp c2 các ghi chú bên dưới để biết chi tiết đầy đủ.

Tất cả các tùy chọn trên có thể được thay đổi trên các chế độ kèo bóng đá cúp c2 hiện có bằng cách sử dụngPostgreSQL: Tài liệu: 17: Thay.

Truy vấn

AChọnhoặcgiá trịLệnh sẽ cung cấp các cột và hàng của chế độ kèo bóng đá cúp c2.

Với [Cascaded | Cục bộ] kiểm tra tùy chọn

Tùy chọn này kiểm soát hành vi của các chế độ kèo bóng đá cúp c2 có thể cập nhật tự động. Khi tùy chọn này được chỉ định,Chèn, Cập nhậtHợp nhấtCác lệnh trên chế độ kèo bóng đá cúp c2 sẽ được kiểm tra để đảm bảo rằng các hàng mới thỏa mãn điều kiện xác định chế độ kèo bóng đá cúp c2 (nghĩa là các hàng mới được kiểm tra để đảm bảo rằng chúng có thể nhìn thấy thông qua chế độ kèo bóng đá cúp c2). Nếu họ không, bản cập nhật sẽ bị từ chối.Tùy chọn kiểm trakhông được chỉ định,Chèn, Cập nhậtHợp nhấtCác lệnh trên chế độ kèo bóng đá cúp c2 được phép tạo các hàng không hiển thị thông qua chế độ kèo bóng đá cúp c2. Các tùy chọn kiểm tra sau được hỗ trợ:

cục bộ

Các hàng mới chỉ được kiểm tra so với các điều kiện được xác định trực tiếp trong chính chế độ kèo bóng đá cúp c2. Bất kỳ điều kiện nào được xác định trên các chế độ kèo bóng đá cúp c2 cơ sở cơ bản không được kiểm tra (trừ khi chúng cũng chỉ địnhKiểm tra tùy chọn).

Cascaded

Các hàng mới được kiểm tra so với các điều kiện của chế độ kèo bóng đá cúp c2 và tất cả các chế độ kèo bóng đá cúp c2 cơ sở cơ bản. NếuTùy chọn kiểm trađược chỉ định và khôngcục bộcũng khôngCascadedđược chỉ định, sau đóCascadedđược giả định.

TheKiểm tra tùy chọnkhông được sử dụng vớiKiểu đệ quyLượt kèo bóng đá cúp c2.

Lưu ý rằngTùy chọn kiểm trachỉ được hỗ trợ trên các chế độ kèo bóng đá cúp c2 có thể cập nhật tự động và không cóthay vìTriggers hoặcThay vào đóQuy tắc. Nếu chế độ kèo bóng đá cúp c2 có thể cập nhật tự động được xác định trên đỉnh của chế độ kèo bóng đá cúp c2 cơ sở cóthay vìTriggers, sau đó làTùy chọn kiểm tra cục bộCó thể được sử dụng để kiểm tra các điều kiện trên chế độ kèo bóng đá cúp c2 có thể cập nhật tự động, nhưng các điều kiện trên chế độ kèo bóng đá cúp c2 cơ sở vớithay vìTrình kích hoạt sẽ không được kiểm tra (tùy chọn kiểm tra xếp tầng sẽ không xếp tầng xuống chế độ kèo bóng đá cúp c2 có thể kích hoạt và bất kỳ tùy chọn kiểm tra nào được xác định trực tiếp trên chế độ kèo bóng đá cúp c2 có thể kích hoạt kích hoạt sẽ bị bỏ qua). Nếu chế độ kèo bóng đá cúp c2 hoặc bất kỳ mối quan hệ cơ sở nào của nó cóThay vào đóquy tắc gây raChènhoặcCập nhậtlệnh sẽ được viết lại, sau đó tất cả các tùy chọn kiểm tra sẽ bị bỏ qua trong truy vấn viết lại, bao gồm mọi kiểm tra từ các chế độ kèo bóng đá cúp c2 có thể cập nhật tự động được xác định trên đầu mối quan hệ vớiThay vào đóquy tắc.Hợp nhấtkhông được hỗ trợ nếu chế độ kèo bóng đá cúp c2 hoặc bất kỳ mối quan hệ cơ sở nào của nó có quy tắc.

ghi chú

Sử dụngView DropTuyên bố để bỏ chế độ kèo bóng đá cúp c2.

Hãy cẩn thận rằng các tên và loại của các cột của chế độ kèo bóng đá cúp c2 sẽ được gán theo cách bạn muốn. Ví dụ:

Tạo View Vista là chọn 'Hello World';

là hình thức xấu vì tên cột mặc định là? Cột?; Ngoài ra, kiểu dữ liệu cột mặc định làText, có thể không phải là những gì bạn muốn. Phong cách tốt hơn cho một chuỗi theo nghĩa đen trong kết quả của chế độ kèo bóng đá cúp c2 là một cái gì đó như:

Tạo Vista làm văn bản 'Hello World' là Hello;

Theo mặc định, quyền truy cập vào các quan hệ cơ sở cơ bản được tham chiếu trong chế độ kèo bóng đá cúp c2 được xác định bởi các quyền của chủ sở hữu chế độ kèo bóng đá cúp c2. Trong một số trường hợp, điều này có thể được sử dụng để cung cấp quyền truy cập an toàn nhưng bị hạn chế vào các bảng cơ bản.Phần 39.5Để biết chi tiết.

Nếu chế độ kèo bóng đá cúp c2 cóSecurity_invokerthuộc tính được đặt thànhTRUE, Truy cập vào các quan hệ cơ sở cơ bản được xác định bởi các quyền của người dùng thực hiện truy vấn, thay vì chủ sở hữu chế độ kèo bóng đá cúp c2. Do đó, người dùng của chế độ kèo bóng đá cúp c2 Invoker bảo mật phải có các quyền có liên quan trên chế độ kèo bóng đá cúp c2 và các mối quan hệ cơ sở cơ bản của nó.

Nếu bất kỳ quan hệ cơ sở cơ bản nào là chế độ kèo bóng đá cúp c2 Invoker bảo mật, nó sẽ được đối xử như thể nó đã được truy cập trực tiếp từ truy vấn ban đầu. Do đó, chế độ kèo bóng đá cúp c2 Invoker bảo mật sẽ luôn kiểm tra các quan hệ cơ sở cơ bản của nó bằng cách sử dụng quyền của người dùng hiện tại, ngay cả khi nó được truy cập từ chế độ kèo bóng đá cúp c2 mà không cóSecurity_invokerthuộc tính.

Nếu bất kỳ mối quan hệ cơ sở cơ bản nào cóPostgresql: Tài liệu:Được bật, sau đó theo mặc định, các chính sách bảo mật cấp hàng của chủ sở hữu chế độ kèo bóng đá cúp c2 được áp dụng và truy cập vào bất kỳ mối quan hệ bổ sung nào được đề cập bởi các chính sách đó được xác định bởi quyền của chủ sở hữu chế độ kèo bóng đá cúp c2. Tuy nhiên, nếu chế độ kèo bóng đá cúp c2 cóSecurity_invokerĐặt thànhTRUE, sau đó các chính sách và quyền của người dùng gọi được sử dụng thay thế, như thể các quan hệ cơ sở đã được tham chiếu trực tiếp từ truy vấn bằng cách sử dụng chế độ kèo bóng đá cúp c2.

Các chức năng được gọi trong chế độ kèo bóng đá cúp c2 được xử lý giống như khi chúng được gọi trực tiếp từ truy vấn bằng cách sử dụng chế độ kèo bóng đá cúp c2. Do đó, người dùng của một chế độ kèo bóng đá cúp c2 phải có quyền để gọi tất cả các chức năng được sử dụng bởi chế độ kèo bóng đá cúp c2.Bảo mật Invokerhoặcbảo mật xác định. Vì vậy, ví dụ, gọicurrent_usertrực tiếp trong chế độ kèo bóng đá cúp c2 sẽ luôn trả về người dùng gọi, không phải chủ sở hữu chế độ kèo bóng đá cúp c2. Điều này không bị ảnh hưởng bởi chế độ kèo bóng đá cúp c2Security_invokerCài đặt và vì vậy một chế độ kèo bóng đá cúp c2 vớiSecurity_invokerĐặt thànhSaikhôngtương đương với Abảo mật xác địnhChức năng và các khái niệm đó không nên bị nhầm lẫn.

Người dùng tạo hoặc thay thế chế độ kèo bóng đá cúp c2 phải cósử dụngĐặc quyền trên bất kỳ lược đồ nào được đề cập trong truy vấn kèo bóng đá cúp c2, để tra cứu các đối tượng được tham chiếu trong các lược đồ đó. Tuy nhiên, lưu ý rằng tra cứu này chỉ xảy ra khi chế độ kèo bóng đá cúp c2 được tạo hoặc thay thế.sử dụngĐặc quyền trên lược đồ chứa chế độ kèo bóng đá cúp c2, không phải trên các lược đồ được đề cập trong truy vấn kèo bóng đá cúp c2, ngay cả đối với chế độ kèo bóng đá cúp c2 Invoker bảo mật.

KhiTạo hoặc thay thế kèo bóng đá cúp c2được sử dụng trên chế độ kèo bóng đá cúp c2 hiện có, chỉ có quy tắc chọn xác định của chế độ kèo bóng đá cúp c2, cộng với bất kỳvới (...)tham số và nóKiểm tra tùy chọnđược thay đổi. Các thuộc tính kèo bóng đá cúp c2 khác, bao gồm quyền sở hữu, quyền và các quy tắc không chọn, vẫn không thay đổi.

Chế độ kèo bóng đá cúp c2 có thể cập nhật

Chế độ kèo bóng đá cúp c2 đơn giản có thể cập nhật tự động: Hệ thống sẽ cho phépChèn, Cập nhật, Xóahợp nhấtCác câu lệnh được sử dụng trên chế độ kèo bóng đá cúp c2 theo cách tương tự như trên một bảng thông thường. Một chế độ kèo bóng đá cúp c2 có thể tự động cập nhật nếu nó thỏa mãn tất cả các điều kiện sau:

  • Chế độ kèo bóng đá cúp c2 phải có chính xác một mục trong của nótừDanh sách, phải là một bảng hoặc chế độ kèo bóng đá cúp c2 cập nhật khác.

  • Định nghĩa kèo bóng đá cúp c2 không được chứavới, khác biệt, Nhóm bởi, , Giới hạnhoặcOffsetmệnh đề ở cấp cao nhất.

  • Định nghĩa chế độ kèo bóng đá cúp c2 không được chứa các hoạt động đã đặt (Union, Intersecthoặcngoại trừ) ở cấp cao nhất.

  • 25870_25972

Chế độ kèo bóng đá cúp c2 có thể cập nhật tự động có thể chứa hỗn hợp các cột cập nhật và không thể cập nhật. Một cột có thể cập nhật nếu nó là một tham chiếu đơn giản đến một cột có thể cập nhật của mối quan hệ cơ sở cơ bản;Chèn, Cập nhậthoặcHợp nhấtCâu lệnh cố gắng gán giá trị cho nó.

Nếu chế độ kèo bóng đá cúp c2 có thể tự động cập nhật, hệ thống sẽ chuyển đổi bất kỳ nàoChèn, Cập nhật, XóahoặcHợp nhấtCâu lệnh trên chế độ kèo bóng đá cúp c2 vào câu lệnh tương ứng về mối quan hệ cơ sở cơ bản.ChènCâu nói cóVề cập nhật xung độtmệnh đề được hỗ trợ đầy đủ.

Nếu chế độ kèo bóng đá cúp c2 có thể cập nhật tự động chứaWHEREĐiều kiện, Điều kiện hạn chế các hàng của mối quan hệ cơ sở có sẵn để được sửa đổi bởiCập nhật, XóaHợp nhấtCâu lệnh trên chế độ kèo bóng đá cúp c2. Tuy nhiên, mộtCập nhậthoặcHợp nhấtđược phép thay đổi một hàng để nó không còn thỏa mãnWHEREĐiều kiện, và do đó không còn hiển thị thông qua chế độ kèo bóng đá cúp c2. Tương tự, mộtChènhoặcHợp nhấtLệnh có thể chèn các hàng liên quan cơ sở không thỏa mãnWHEREĐiều kiện và do đó không hiển thị thông qua chế độ kèo bóng đá cúp c2 (Về cập nhật xung độtCó thể ảnh hưởng tương tự một hàng hiện tại không hiển thị thông qua chế độ kèo bóng đá cúp c2). TheTùy chọn kiểm tracó thể được sử dụng để ngăn chặnChèn, Cập nhậtHợp nhấtCác lệnh từ việc tạo các hàng như vậy không hiển thị thông qua chế độ kèo bóng đá cúp c2.

Nếu chế độ kèo bóng đá cúp c2 có thể cập nhật tự động được đánh dấu bằngSecurity_Barrierthuộc tính thì tất cả các chế độ kèo bóng đá cúp c2WHEREĐiều kiện (và mọi điều kiện sử dụng các toán tử được đánh dấu làLeakproof) sẽ luôn được đánh giá trước mọi điều kiện mà người dùng của chế độ kèo bóng đá cúp c2 đã thêm. Nhìn thấyPhần 39.5Để biết chi tiết đầy đủ. Lưu ý rằng, do đó, các hàng không được trả về cuối cùng (vì chúng không vượt qua người dùngWHEREĐiều kiện) vẫn có thể bị khóa.Giải thíchcó thể được sử dụng để kèo bóng đá cúp c2 điều kiện nào được áp dụng ở cấp độ quan hệ (và do đó không khóa các hàng) và cái nào không.

Một quan điểm phức tạp hơn không thỏa mãn tất cả các điều kiện này chỉ được đọc theo mặc định: Hệ thống sẽ không cho phépChèn, Cập nhật, XóahoặcMergeTrên chế độ kèo bóng đá cúp c2. Bạn có thể nhận được hiệu ứng của một chế độ kèo bóng đá cúp c2 có thể cập nhật bằng cách tạothay vìTrình kích hoạt trên chế độ kèo bóng đá cúp c2, phải chuyển đổi các lần chèn đã cố gắng, v.v. trên chế độ kèo bóng đá cúp c2 thành các hành động thích hợp trên các bảng khác. Để biết thêm thông tin, kèo bóng đá cúp c2PostgreSQL:. Một khả năng khác là tạo các quy tắc (kèo bóng đá cúp c2PostgreSQL:), nhưng trong thực tế kích hoạt dễ hiểu và sử dụng chính xác. Cũng lưu ý rằngMergekhông được hỗ trợ về các mối quan hệ với các quy tắc.

Lưu ý rằng người dùng thực hiện chèn, cập nhật hoặc xóa trên chế độ kèo bóng đá cúp c2 phải có đặc quyền chèn, cập nhật hoặc xóa đặc quyền tương ứng trên chế độ kèo bóng đá cúp c2. Ngoài ra, theo mặc định, chủ sở hữu của chế độ kèo bóng đá cúp c2 phải có các đặc quyền có liên quan về các quan hệ cơ sở cơ bản, trong khi người dùng thực hiện bản cập nhật không cần bất kỳ quyền nào đối với các quan hệ cơ sở cơ bản (kèo bóng đá cúp c2Phần 39.5). Tuy nhiên, nếu chế độ kèo bóng đá cúp c2 cóSecurity_invokerĐặt thànhTRUE, Người dùng thực hiện cập nhật, thay vì chủ sở hữu chế độ kèo bóng đá cúp c2, phải có các đặc quyền có liên quan về các quan hệ cơ sở cơ bản.

Ví dụ

Tạo một chế độ kèo bóng đá cúp c2 bao gồm tất cả các bộ phim hài:

Tạo các bộ phim hài khi

Điều này sẽ tạo một chế độ kèo bóng đá cúp c2 chứa các cột có trongPhimBảng tại thời điểm tạo kèo bóng đá cúp c2. Mặc dù*Đã được sử dụng để tạo chế độ kèo bóng đá cúp c2, các cột được thêm vào sau vào bảng sẽ không phải là một phần của chế độ kèo bóng đá cúp c2.

Tạo chế độ kèo bóng đá cúp c2 vớiTùy chọn kiểm tra cục bộ:

Tạo kèo bóng đá cúp c2 Universal_comedies là

Điều này sẽ tạo chế độ kèo bóng đá cúp c2 dựa trênHài kịchkèo bóng đá cúp c2, chỉ hiển thị phim vớiKind = 'Comedy'Phân loại = 'U'. Mọi nỗ lực đểChènhoặcCập nhậtMột hàng trong chế độ kèo bóng đá cúp c2 sẽ bị từ chối nếu hàng mới không cóPhân loại = 'U', nhưng bộ phimKindsẽ không được kiểm tra.

Tạo chế độ kèo bóng đá cúp c2 vớiTùy chọn kiểm tra Cascaded:

Tạo chế độ kèo bóng đá cúp c2 pg_comedies dưới dạng

Điều này sẽ tạo một chế độ kèo bóng đá cúp c2 kiểm tra cảKindPhân loạicủa các hàng mới.

Tạo chế độ kèo bóng đá cúp c2 với hỗn hợp các cột cập nhật và không thể cập nhật:

Tạo các bộ phim hài khi

Chế độ kèo bóng đá cúp c2 này sẽ hỗ trợChèn, Cập nhậtXóa. Tất cả các cột từPhimBảng sẽ có thể cập nhật, trong khi các cột được tính toánQuốc giaavg_ratingsẽ chỉ đọc.

Tạo chế độ kèo bóng đá cúp c2 đệ quy bao gồm các số từ 1 đến 100:

Tạo chế độ kèo bóng đá cúp c2 đệ quy công khai.nums_1_100 (n)

Lưu ý rằng mặc dù tên của chế độ kèo bóng đá cúp c2 đệ quy là sơ đồ trong điều nàyTạo, Tự tham chiếu nội bộ của nó không đủ điều kiện lược đồ. Điều này là do tên của CTE được tạo ngầm không thể được phân loại.

Tương thích

Tạo hoặc thay thế kèo bóng đá cúp c2POSTGRESQLPhần mở rộng ngôn ngữ. Vì vậy, khái niệm của một quan điểm tạm thời.với (...)mệnh đề cũng là một phần mở rộng, cũng như các chế độ kèo bóng đá cúp c2 rào cản bảo mật và chế độ kèo bóng đá cúp c2 bảo mật.

Gửi hiệu chỉnh

Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không khớpMẫu nàyĐể báo cáo vấn đề tài liệu.