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ạo chế độ cách đọc kèo bóng đá

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

Synopsis

Tạo [hoặc thay thế] [Temp | Tạm thời] [đệ quy] cách đọc kèo bóng đátê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ế độ cách đọc kèo bóng đáXác định chế độ cách đọc kèo bóng đá của truy vấn. Quan điểm không được vật chất hóa.

Tạo hoặc thay thế cách đọc kèo bóng đálà tương tự, nhưng nếu một chế độ cách đọc kèo bóng đá 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 cách đọc kèo bóng đá 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 cách đọc kèo bóng đá myschema.myview ...) Sau đó, chế độ cách đọc kèo bóng đá đượ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ế độ cách đọc kèo bóng đá được tạo dưới dạng chế độ cách đọc kèo bóng đá tạm thời. Các chế độ cách đọc kèo bóng đá 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ế độ cách đọc kèo bóng đá là tạm thời, chế độ cách đọc kèo bóng đá được tạo như một chế độ cách đọc kèo bóng đá tạm thời (cho dùtạm thờiđược chỉ định hay không).

Kiểu đệ quy

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

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

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

Tạo chế độ cách đọc kèo bóng đá [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 cách đọc kèo bóng đá phải được chỉ định cho chế độ cách đọc kèo bóng đá đệ quy.

tên

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

Cột_name

Một danh sách tùy chọn các tên sẽ được sử dụng cho các cột của chế độ cách đọc kèo bóng đá. 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ế độ cách đọc kèo bóng đá; 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(cách đọc kèo bóng đá bên dưới).

Security_Barrier(Boolean)

Điều này nên được sử dụng nếu chế độ cách đọc kèo bóng đá 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ế độ cách đọc kèo bóng đá thay vì chủ sở hữu chế độ cách đọc kèo bóng đá. cách đọc kèo bóng đá 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ế độ cách đọc kèo bóng đá hiện có bằng cách sử dụngChế độ cách đọc kèo bóng đá thay đổi.

Truy vấn

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

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ế độ cách đọc kèo bóng đá 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ế độ cách đọc kèo bóng đá 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ế độ cách đọc kèo bóng đá (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ế độ cách đọc kèo bóng đá). Nếu họ không, bản cập nhật sẽ bị từ chối.Kiểm tra tùy chọnkhông được chỉ định,Chèn, Cập nhậtHợp nhấtCác lệnh trên chế độ cách đọc kèo bóng đá được phép tạo các hàng không hiển thị thông qua chế độ cách đọc kèo bóng đá. 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ế độ cách đọc kèo bóng đá. Bất kỳ điều kiện nào được xác định trên các chế độ cách đọc kèo bóng đá cơ sở cơ bản không được kiểm tra (trừ khi chúng cũng chỉ địnhTùy chọn kiểm tra).

Cascaded

Các hàng mới được kiểm tra chống lại các điều kiện của chế độ cách đọc kèo bóng đá và tất cả các chế độ cách đọc kèo bóng đá 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.

TheTùy chọn kiểm tracó thể không được sử dụng vớiKiểu đệ quyLượt cách đọc kèo bóng đá.

Lưu ý rằngTùy chọn kiểm trachỉ được hỗ trợ trên các chế độ cách đọc kèo bóng đá 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ế độ cách đọc kèo bóng đá có thể cập nhật tự động được xác định trên đỉnh của chế độ cách đọc kèo bóng đá cơ sở cóthay vìTriggers, sau đó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ế độ cách đọc kèo bóng đá có thể cập nhật tự động, nhưng các điều kiện trên chế độ cách đọc kèo bóng đá 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ế độ cách đọc kèo bóng đá 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ế độ cách đọc kèo bóng đá có thể kích hoạt kích hoạt sẽ bị bỏ qua). Nếu chế độ cách đọc kèo bóng đá 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ật19701_19888Thay vào đóquy tắc.Hợp nhấtkhông được hỗ trợ nếu chế độ cách đọc kèo bóng đá 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ế độ cách đọc kèo bóng đá.

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

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

là hình thức xấu vì tên cột mặc định là?; 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ế độ cách đọc kèo bóng đá là một cái gì đó như:

Tạo Vista làm văn bản 'Hello World' như 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ế độ cách đọc kèo bóng đá được xác định bởi các quyền của chủ sở hữu chế độ cách đọc kèo bóng đá. 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ế độ cách đọc kèo bóng đá 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ế độ cách đọc kèo bóng đá. Do đó, người dùng của chế độ cách đọc kèo bóng đá Invoker bảo mật phải có các quyền có liên quan trên chế độ cách đọc kèo bóng đá 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ế độ cách đọc kèo bóng đá 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ế độ cách đọc kèo bóng đá 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ế độ cách đọc kèo bóng đá 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óBảo mật cấp hàngđượ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ế độ cách đọc kèo bóng đá đượ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ế độ cách đọc kèo bóng đá. Tuy nhiên, nếu chế độ cách đọc kèo bóng đá 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ế độ cách đọc kèo bóng đá.

Các chức năng được gọi trong chế độ cách đọc kèo bóng đá đượ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ế độ cách đọc kèo bóng đá. Do đó, người dùng của một chế độ cách đọc kèo bóng đá phải có quyền để gọi tất cả các chức năng được sử dụng bởi chế độ cách đọc kèo bóng đá.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ế độ cách đọc kèo bóng đá sẽ luôn trả về người dùng gọi, không phải chủ sở hữu chế độ cách đọc kèo bóng đá. Điều này không bị ảnh hưởng bởi chế độ cách đọc kèo bóng đáSecurity_invokerCài đặt và vì vậy một chế độ cách đọc kèo bóng đá 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ế độ cách đọc kèo bóng đá 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 cách đọc kèo bóng đá, để tìm kiếm 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ế độ cách đọc kèo bóng đá được tạo hoặc thay thế.sử dụngĐặc quyền trên lược đồ chứa chế độ cách đọc kèo bóng đá, không phải trên các lược đồ được đề cập trong truy vấn cách đọc kèo bóng đá, ngay cả đối với chế độ cách đọc kèo bóng đá Invoker bảo mật.

khiTạo hoặc thay thế cách đọc kèo bóng đáđược sử dụng trên chế độ cách đọc kèo bóng đá hiện có, chỉ có quy tắc chọn xác định của chế độ cách đọc kèo bóng đá, cộng với bất kỳvới (...)tham số và nóTùy chọn kiểm trađược thay đổi. Các thuộc tính cách đọc kèo bóng đá 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ế độ cách đọc kèo bóng đá có thể cập nhật

Chế độ cách đọc kèo bóng đá đơ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ế độ cách đọc kèo bóng đá theo cách tương tự như trên một bảng thông thường. Một chế độ cách đọc kèo bóng đá 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ế độ cách đọc kèo bóng đá phải có chính xác một mục trongtừDanh sách, phải là một bảng hoặc chế độ cách đọc kèo bóng đá cập nhật khác.

  • Định nghĩa cách đọc kèo bóng đá 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ế độ cách đọc kèo bóng đá không được chứa các hoạt động đã đặt (Union, Intersecthoặcngoại trừ) ở cấp cao nhất.

  • Danh sách chọn của chế độ cách đọc kèo bóng đá không được chứa bất kỳ tập hợp, chức năng cửa sổ hoặc các hàm quay lại.

Chế độ cách đọc kèo bóng đá 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 một giá trị cho nó.

Nếu chế độ cách đọc kèo bóng đá 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ế độ cách đọc kèo bóng đá 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ótrên Cập nhật xung độtmệnh đề được hỗ trợ đầy đủ.

Nếu chế độ cách đọc kèo bóng đá 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 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ế độ cách đọc kèo bóng đá. 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ế độ cách đọc kèo bóng đá. Tương tự, mộtChènhoặcHợp nhấtLệnh có khả năng 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ế độ cách đọc kèo bóng đá (trên 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ế độ cách đọc kèo bóng đá). 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ế độ cách đọc kèo bóng đá.

Nếu chế độ cách đọc kèo bóng đá có thể cập nhật tự động được đánh dấu bằngSecurity_BarrierThuộc tính sau đó tất cả các chế độ cách đọc kèo bóng đáWHEREĐ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ế độ cách đọc kèo bóng đá đã 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 để cách đọc kèo bóng đá các đ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ặcHợp nhấtTrên chế độ cách đọc kèo bóng đá. Bạn có thể nhận được hiệu ứng của một chế độ cách đọc kèo bóng đá có thể cập nhật bằng cách tạothay vìTrình kích hoạt trên chế độ cách đọc kèo bóng đá, phải chuyển đổi các lần chèn đã cố gắng, v.v. trên chế độ cách đọc kèo bóng đá 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, cách đọc kèo bóng đáTạo Trigger. Một khả năng khác là tạo các quy tắc (cách đọc kèo bóng đáTạo quy tắc), 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ằngHợp nhấtkhô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ế độ cách đọc kèo bóng đá 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ế độ cách đọc kèo bóng đá. Ngoài ra, theo mặc định, chủ sở hữu của chế độ cách đọc kèo bóng đá 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 (cách đọc kèo bóng đáPhần 39.5). Tuy nhiên, nếu chế độ cách đọc kèo bóng đá cóSecurity_invokerĐặt thànhTRUE, Người dùng thực hiện bản cập nhật, thay vì chủ sở hữu chế độ cách đọc kèo bóng đá, 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ế độ cách đọc kèo bóng đá 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ế độ cách đọc kèo bóng đá chứa các cột có trongphimBảng tại thời điểm tạo cách đọc kèo bóng đá. Mặc dù*Đã được sử dụng để tạo chế độ cách đọc kèo bóng đá, 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ế độ cách đọc kèo bóng đá.

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

Tạo cách đọc kèo bóng đá Universal_comedies là

Điều này sẽ tạo chế độ cách đọc kèo bóng đá dựa trênHài kịchcách đọc kèo bóng đá, 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ế độ cách đọc kèo bóng đá 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ế độ cách đọc kèo bóng đá vớiTùy chọn kiểm tra Cascaded:

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

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

Tạo chế độ cách đọc kèo bóng đá 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ế độ cách đọc kèo bóng đá 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ế độ cách đọc kèo bóng đá đệ quy bao gồm các số từ 1 đến 100:

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

Lưu ý rằng mặc dù tên của chế độ cách đọc kèo bóng đá đệ 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ế cách đọc kèo bóng đáPOSTGRESQLMở 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ế độ cách đọc kèo bóng đá rào cản bảo mật và chế độ cách đọc kèo bóng đá 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.