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
5316_542712 / 11 / 10 / 9.6 / 9.5

Tạo soi kèo bóng đá truoctran

Tạo soi kèo bóng đá truoctran-Xác định soi kèo bóng đá truoctran bảo mật cấp hàng mới cho bảng

Synopsis

Tạo soi kèo bóng đá truoctrantêntrênTable_Name[như cho phép | Hạn chế]
    [Cho tất cả | Chọn | Chèn | Cập nhật | XÓA BỎ  ]
    [ ĐẾNROME_NAME| Công khai | Current_role | Current_user | Session_user [, ...]]
    [Sử soi kèo bóng đá truoctran (sử dụng_expression)]]
    [Với kiểm tra (Check_expression)]

Mô tả

TheTạo soi kèo bóng đá truoctranLệnh xác định soi kèo bóng đá truoctran bảo mật cấp hàng mới cho bảng. Lưu ý rằng bảo mật cấp hàng phải được bật trên bảng (sử dụngBảng thay đổi ... Kích hoạt bảo mật cấp hàng) Để áp dụng các soi kèo bóng đá truoctran được tạo ra.

9038_9224sử soi kèo bóng đá truoctran, trong khi các hàng mới sẽ được tạo quaChènhoặcCập nhậtđược kiểm tra đối với biểu thức được chỉ định trongvới kiểm tra. Khi Asử soi kèo bóng đá truoctranBiểu thức trả về true cho một hàng đã cho sau đó hàng đó có thể hiển thị cho người dùng, trong khi nếu sai hoặc null được trả về thì hàng không hiển thị. Khi A9676_9688Biểu thức trả về true cho một hàng thì hàng đó được chèn hoặc cập nhật, trong khi nếu sai hoặc null được trả về thì xảy ra lỗi.

choChèn, Cập nhậtHợp nhấtCâu lệnh,với kiểm traBiểu thức được thi hành sautrướcKích hoạt được bắn và trước khi bất kỳ sửa đổi dữ liệu thực tế nào được thực hiện. Do đó Atrước hàngTrigger có thể sửa đổi dữ liệu sẽ được chèn, ảnh hưởng đến kết quả của kiểm tra soi kèo bóng đá truoctran bảo mật.với kiểm traBiểu thức được thực thi trước mọi ràng buộc khác.

Tên soi kèo bóng đá truoctran là mỗi bảng. Do đó, một tên soi kèo bóng đá truoctran có thể được sử dụng cho nhiều bảng khác nhau và có định nghĩa cho mỗi bảng phù hợp với bảng đó.

soi kèo bóng đá truoctran có thể được áp dụng cho các lệnh cụ thể hoặc cho các vai trò cụ thể. Mặc định cho các soi kèo bóng đá truoctran mới được tạo là chúng áp dụng cho tất cả các lệnh và vai trò, trừ khi có quy định khác. Nhiều soi kèo bóng đá truoctran có thể áp dụng cho một lệnh duy nhất; Xem bên dưới để biết thêm chi tiết.Bảng 297Tóm tắt cách các loại soi kèo bóng đá truoctran khác nhau áp dụng cho các lệnh cụ thể.

Đối với các soi kèo bóng đá truoctran có thể có cảSử soi kèo bóng đá truoctranvới kiểm traBiểu thức (tất cảCập nhật), nếu khôngvới kiểm tra11305_11340Sử soi kèo bóng đá truoctranBiểu thức sẽ được sử soi kèo bóng đá truoctran cả hai để xác định các hàng nào có thể nhìn thấy (Bình thườngSử soi kèo bóng đá truoctran11480_11537với kiểm tratrường hợp).

Nếu bảo mật cấp hàng được bật cho bảng, nhưng không có soi kèo bóng đá truoctran áp dụng nào tồn tại, ATừ chối mặc địnhHồisoi kèo bóng đá truoctran được giả định, để không có hàng nào được hiển thị hoặc cập nhật.

tham số

tên

Tên của soi kèo bóng đá truoctran sẽ được tạo. Điều này phải khác biệt với tên của bất kỳ soi kèo bóng đá truoctran nào khác cho bảng.

Table_Name

Tên (Tùy chọn Lược đồ theo trình độ) của bảng soi kèo bóng đá truoctran áp dụng cho.

cho phép

Chỉ định rằng soi kèo bóng đá truoctran sẽ được tạo dưới dạng soi kèo bóng đá truoctran cho phép. Tất cả các soi kèo bóng đá truoctran cho phép được áp dụng cho một truy vấn nhất định sẽ được kết hợp với nhau bằng cách sử dụng booleanHồihoặcHồitoán tử. Bằng cách tạo các soi kèo bóng đá truoctran cho phép, quản trị viên có thể thêm vào tập hợp các bản ghi có thể được truy cập. soi kèo bóng đá truoctran được cho phép theo mặc định.

Hạn chế

Chỉ định rằng soi kèo bóng đá truoctran sẽ được tạo như một soi kèo bóng đá truoctran hạn chế. Tất cả các soi kèo bóng đá truoctran hạn chế được áp dụng cho một truy vấn nhất định sẽ được kết hợp với nhau bằng cách sử dụng booleanMạnhxôngtoán tử. Bằng cách tạo các soi kèo bóng đá truoctran hạn chế, quản trị viên có thể giảm tập hợp các bản ghi có thể được truy cập vì tất cả các soi kèo bóng đá truoctran hạn chế phải được thông qua cho mỗi hồ sơ.

Lưu ý rằng cần phải có ít nhất một soi kèo bóng đá truoctran cho phép cấp quyền truy cập vào hồ sơ trước khi các soi kèo bóng đá truoctran hạn chế có thể được sử dụng một cách hữu ích để giảm quyền truy cập đó. Nếu chỉ tồn tại các soi kèo bóng đá truoctran hạn chế, thì không có hồ sơ nào có thể truy cập được. Khi có các soi kèo bóng đá truoctran cho phép và hạn chế, một bản ghi chỉ có thể truy cập được nếu ít nhất một trong các soi kèo bóng đá truoctran cho phép được thông qua, ngoài tất cả các soi kèo bóng đá truoctran hạn chế.

lệnh

Lệnh áp dụng soi kèo bóng đá truoctran. Các tùy chọn hợp lệ làtất cả, Chọn, Chèn, Cập nhậtXóa. tất cảlà mặc định. Xem bên dưới để biết thông tin cụ thể về cách áp soi kèo bóng đá truoctran chúng.

ROME_NAME

Vai trò mà soi kèo bóng đá truoctran sẽ được áp dụng. Mặc định làcông khai, sẽ áp dụng soi kèo bóng đá truoctran cho tất cả các vai trò.

sử dụng_expression

bất kỳSQLBiểu thức có điều kiện (trả vềBoolean). Biểu thức có điều kiện không thể chứa bất kỳ chức năng tổng hợp hoặc cửa sổ nào. Biểu thức này sẽ được thêm vào các truy vấn đề cập đến bảng nếu bảo mật cấp hàng được bật. Các hàng mà biểu thức trả về đúng sẽ được hiển thị. Bất kỳ hàng nào mà biểu thức trả về sai hoặc null sẽ không hiển thị cho người dùng (trong mộtChọn) và sẽ không có sẵn để sửa đổi (trong mộtCập nhậthoặcXóa). Những hàng như vậy được áp soi kèo bóng đá truoctran âm thầm; Không có lỗi được báo cáo.

Check_expression

bất kỳSQL15633_15670Boolean). Biểu thức có điều kiện không thể chứa bất kỳ chức năng tổng hợp hoặc cửa sổ nào. Biểu thức này sẽ được sử soi kèo bóng đá truoctran trongChènCập nhậtTruy vấn đối với bảng nếu bảo mật cấp hàng được bật. Chỉ các hàng mà biểu thức đánh giá thành true sẽ được cho phép. Một lỗi sẽ được ném nếu biểu thức đánh giá là sai hoặc null cho bất kỳ bản ghi nào được chèn hoặc bất kỳ bản ghi nào có kết quả từ bản cập nhật. Lưu ý rằngCheck_expressionđược đánh giá dựa trên các nội dung mới được đề xuất của hàng chứ không phải nội dung gốc.

soi kèo bóng đá truoctran trên mỗi lệnh

tất cả #

Sử soi kèo bóng đá truoctrantất cả16748_16847tất cảsoi kèo bóng đá truoctran tồn tại và các soi kèo bóng đá truoctran cụ thể hơn tồn tại, sau đó cảtất cảsoi kèo bóng đá truoctran và soi kèo bóng đá truoctran cụ thể hơn (hoặc soi kèo bóng đá truoctran) sẽ được áp dụng. Ngoài ra,tất cảsoi kèo bóng đá truoctran sẽ được áp dụng cho cả phía lựa chọn của một truy vấn và phía sửa đổi, sử dụngsử soi kèo bóng đá truoctranBiểu thức cho cả hai trường hợp nếu chỉ Asử soi kèo bóng đá truoctranBiểu thức đã được xác định.

làm ví dụ, nếuCập nhậtđược ban hành, sau đó làtất cảsoi kèo bóng đá truoctran sẽ được áp dụng cho cả những gìCập nhậtsẽ có thể chọn làm hàng sẽ được cập nhật (áp soi kèo bóng đá truoctranSử soi kèo bóng đá truoctranBiểu thức) và đến các hàng được cập nhật kết quả, để kiểm tra xem chúng có được phép thêm vào bảng không (áp soi kèo bóng đá truoctranvới kiểm traBiểu thức, nếu được xác định vàSử soi kèo bóng đá truoctranBiểu thức khác). Nếu mộtChènhoặcCập nhậtLệnh cố gắng thêm hàng vào bảng không vượt quatất cảsoi kèo bóng đá truoctranvới kiểm traBiểu thức, toàn bộ lệnh sẽ bị hủy bỏ.

Chọn #

Sử soi kèo bóng đá truoctranChọnĐối với một soi kèo bóng đá truoctran có nghĩa là nó sẽ áp dụng choChọnTruy vấn và bất cứ khi nàoChọnQuyền được yêu cầu đối với mối quan hệ soi kèo bóng đá truoctran được xác định cho. Kết quả là chỉ những bản ghi đó từ mối quan hệ vượt quaChọnsoi kèo bóng đá truoctran sẽ được trả lại trong thời gianChọnTruy vấn và truy vấn đó yêu cầuChọnQuyền, chẳng hạn nhưCập nhật, cũng sẽ chỉ thấy những bản ghi được cho phép bởiChọnsoi kèo bóng đá truoctran. MỘTChọnsoi kèo bóng đá truoctran không thể cóvới kiểm traBiểu thức, vì nó chỉ áp soi kèo bóng đá truoctran trong trường hợp các bản ghi được lấy từ mối quan hệ.

Chèn #

Sử soi kèo bóng đá truoctranChènĐối với soi kèo bóng đá truoctran có nghĩa là nó sẽ áp dụng choChènlệnh vàHợp nhấtCác lệnh có chứaChènHành động. Hàng được chèn không thông qua soi kèo bóng đá truoctran này sẽ dẫn đến lỗi vi phạm soi kèo bóng đá truoctran và toàn bộChènlệnh sẽ bị hủy bỏ. MỘTChènsoi kèo bóng đá truoctran không thể cósử soi kèo bóng đá truoctranBiểu thức, vì nó chỉ áp soi kèo bóng đá truoctran trong trường hợp các bản ghi được thêm vào quan hệ.

Lưu ý rằngChènvớitrên xung đột do cập nhậtKiểm traChènsoi kèo bóng đá truoctran 'với kiểm traBiểu thức chỉ cho các hàng được nối với mối quan hệ củaChènđường dẫn.

Cập nhật #

sử soi kèo bóng đá truoctranCập nhậtĐối với soi kèo bóng đá truoctran có nghĩa là nó sẽ áp dụng choCập nhật, Chọn để cập nhậtChọn để chia sẻCác lệnh, cũng như phụ trợtrên xung đột do cập nhậtmệnh đề củaChènlệnh.Hợp nhấtCác lệnh chứa20969_20977Hành động cũng bị ảnh hưởng. TừCập nhậtLiên quan đến việc kéo một bản ghi hiện có và thay thế nó bằng một bản ghi được sửa đổi mới,Cập nhậtsoi kèo bóng đá truoctran chấp nhận cả Asử soi kèo bóng đá truoctranBiểu thức và Avới kiểm traBiểu thức. TheSử soi kèo bóng đá truoctranBiểu thức xác định bản ghi nàoCập nhậtLệnh sẽ thấy để hoạt động chống lại, trong khiVới kiểm traBiểu thức xác định các hàng đã sửa đổi nào được phép được lưu trữ trở lại vào mối quan hệ.

Bất kỳ hàng nào có giá trị cập nhật không vượt quavới kiểm traBiểu thức sẽ gây ra lỗi và toàn bộ lệnh sẽ bị hủy bỏ. Nếu chỉ mộtsử soi kèo bóng đá truoctranmệnh đề được chỉ định, sau đó mệnh đề đó sẽ được sử soi kèo bóng đá truoctran cho cả haisử soi kèo bóng đá truoctranvới kiểm tratrường hợp.

Thông thường làCập nhậtLệnh cũng cần đọc dữ liệu từ các cột trong mối quan hệ được cập nhật (ví dụ: trong AWHEREmệnh đề hoặc ATrở vềmệnh đề hoặc trong một biểu thức ở phía bên phải củasetmệnh đề). Trong trường hợp này,ChọnQuyền cũng được yêu cầu đối với mối quan hệ được cập nhật và thích hợpChọnhoặctất cảsoi kèo bóng đá truoctran sẽ được áp dụng ngoàiCập nhậtsoi kèo bóng đá truoctran. Do đó, người dùng phải có quyền truy cập vào (các) hàng được cập nhật thông quaChọnhoặctất cảsoi kèo bóng đá truoctran ngoài việc được cấp phép cập nhật (các) hàng thông quaCập nhậthoặctất cảsoi kèo bóng đá truoctran.

Khi mộtChèn22944_22972trên xung đột do cập nhậtmệnh đề, nếuCập nhậtĐường dẫn được thực hiện, hàng sẽ được cập nhật trước tiên được kiểm tra đối vớiSử soi kèo bóng đá truoctranBiểu thức của bất kỳCập nhậtsoi kèo bóng đá truoctran, và sau đó hàng cập nhật mới được kiểm tra đối vớivới kiểm traBiểu thức. Tuy nhiên, lưu ý rằng không giống như độc lậpCập nhậtlệnh, nếu hàng hiện tại không vượt quaSử soi kèo bóng đá truoctranBiểu thức, một lỗi sẽ được ném (TheCập nhậtđường dẫn sẽkhông bao giờHãy tránh im lặng).

Xóa #

Sử soi kèo bóng đá truoctranXóaĐối với soi kèo bóng đá truoctran có nghĩa là nó sẽ áp dụng choXóalệnh. Chỉ các hàng vượt qua soi kèo bóng đá truoctran này sẽ được nhìn thấy bởiXóaLệnh. Có thể có các hàng có thể nhìn thấy thông quaChọn24177_24241Sử soi kèo bóng đá truoctranBiểu thức choXóasoi kèo bóng đá truoctran.

Trong hầu hết các trường hợp AXóaLệnh cũng cần đọc dữ liệu từ các cột trong mối quan hệ mà nó đang xóa khỏi (ví dụ: trong AWHEREmệnh đề hoặc ATrở vềmệnh đề). Trong trường hợp này,ChọnQuyền cũng được yêu cầu đối với mối quan hệ và thích hợpChọnhoặctất cảsoi kèo bóng đá truoctran sẽ được áp dụng ngoàiXóasoi kèo bóng đá truoctran. Do đó, người dùng phải có quyền truy cập vào (các) hàng bị xóa thông quaChọnhoặctất cả25015_25092Xóahoặctất cảsoi kèo bóng đá truoctran.

AXóasoi kèo bóng đá truoctran không thể cóvới kiểm traBiểu thức, vì nó chỉ áp soi kèo bóng đá truoctran trong trường hợp các bản ghi bị xóa khỏi mối quan hệ, để không có hàng mới để kiểm tra.

Bảng 297. soi kèo bóng đá truoctran được áp dụng theo loại lệnh

lệnh Chọn/Tất cả soi kèo bóng đá truoctran Chèn/tất cả soi kèo bóng đá truoctran Cập nhật/Tất cả soi kèo bóng đá truoctran Xóa/tất cả soi kèo bóng đá truoctran
Sử soi kèo bóng đá truoctran biểu thức Với biểu thức kiểm tra Sử soi kèo bóng đá truoctran biểu thức Với biểu thức kiểm tra Sử soi kèo bóng đá truoctran biểu thức
Chọn hàng hiện tại - - - -
Chọn để cập nhật/chia sẻ hàng hiện tại - hàng hiện tại - -
Chèn / Hợp nhất ... sau đó chèn - hàng mới - - -
Chèn ... Trả về hàng mới[A] Hàng mới - - -
Cập nhật / Hợp nhất ... sau đó cập nhật hàng hiện tại & mới[A] - Hàng hiện tại hàng mới -
Xóa hàng hiện tại[A] - - - Hàng hiện tại
trên xung đột do cập nhật hàng hiện tại & mới - hàng hiện tại hàng mới -

[A]Nếu cần đọc quyền truy cập vào hàng hiện tại hoặc hàng mới (ví dụ: AWHEREhoặcTrở vềmệnh đề đề cập đến các cột từ mối quan hệ).


Ứng dụng nhiều soi kèo bóng đá truoctran

Khi nhiều soi kèo bóng đá truoctran của các loại lệnh khác nhau áp dụng cho cùng một lệnh (ví dụ:ChọnCập nhậtsoi kèo bóng đá truoctran được áp dụng choCập nhậtlệnh), sau đó người dùng phải có cả hai loại quyền (ví dụ: quyền chọn hàng từ mối quan hệ cũng như quyền cập nhật chúng). Do đó, các biểu thức cho một loại soi kèo bóng đá truoctran được kết hợp với các biểu thức cho loại soi kèo bóng đá truoctran khác bằng cách sử dụngtoán tử.

Khi nhiều soi kèo bóng đá truoctran của cùng loại lệnh áp dụng cho cùng một lệnh, thì phải có ít nhất mộtcho phépsoi kèo bóng đá truoctran cấp quyền truy cập vào mối quan hệ và tất cả cácHạn chếsoi kèo bóng đá truoctran phải thông qua. Vì vậy, tất cảcho phépBiểu thức soi kèo bóng đá truoctran được kết hợp bằng cách sử dụnghoặc, tất cảHạn chếBiểu thức soi kèo bóng đá truoctran được kết hợp bằng cách sử dụngvà kết quả được kết hợp bằng cách sử soi kèo bóng đá truoctran. Nếu không cócho phépsoi kèo bóng đá truoctran, sau đó truy cập bị từ chối.

Lưu ý rằng, với mục đích kết hợp nhiều soi kèo bóng đá truoctran,tất cảsoi kèo bóng đá truoctran được coi là có cùng loại như bất kỳ loại soi kèo bóng đá truoctran nào khác được áp dụng.

Ví dụ, trong mộtCập nhậtLệnh yêu cầu cảChọnCập nhậtQuyền, nếu có nhiều soi kèo bóng đá truoctran áp dụng của từng loại, chúng sẽ được kết hợp như sau:

Biểu thứcTừ hạn chế chọn/tất cả soi kèo bóng đá truoctran 1
VÀBiểu thứcTừ hạn chế chọn/tất cả soi kèo bóng đá truoctran 2
VÀ
...
VÀ
(Biểu thứcTừ chọn cho phép/tất cả soi kèo bóng đá truoctran 1
  HOẶCBiểu thứcTừ chọn cho phép/tất cả soi kèo bóng đá truoctran 2
  HOẶC
  ...
)
VÀBiểu thứcTừ bản cập nhật hạn chế/Tất cả soi kèo bóng đá truoctran 1
VÀBiểu thứcTừ bản cập nhật hạn chế/Tất cả soi kèo bóng đá truoctran 2
VÀ
...
VÀ
(Biểu thứcTừ bản cập nhật cho phép/Tất cả soi kèo bóng đá truoctran 1
  HOẶCBiểu thứcTừ bản cập nhật cho phép/Tất cả soi kèo bóng đá truoctran 2
  HOẶC
  ...
)

Ghi chú

Bạn phải là chủ sở hữu của bảng để tạo hoặc thay đổi soi kèo bóng đá truoctran cho nó.

32549_33719

Nói chung, hệ thống sẽ thực thi các điều kiện bộ lọc được áp dụng bằng các soi kèo bóng đá truoctran bảo mật trước khi trình độ xuất hiện trong các truy vấn của người dùng, để ngăn chặn sự tiếp xúc vô tình của dữ liệu được bảo vệ với các chức năng do người dùng xác định có thể không đáng tin cậy. Tuy nhiên, các chức năng và toán tử được đánh dấu bởi hệ thống (hoặc quản trị viên hệ thống) làLeakproofCó thể được đánh giá trước các biểu thức soi kèo bóng đá truoctran, vì chúng được coi là đáng tin cậy.

34208_34873Security_invokerTùy chọn (xemPostgreSQL: Tài).

Không tồn tại soi kèo bóng đá truoctran riêng choHợp nhất. Thay vào đó, các soi kèo bóng đá truoctran được xác định choChọn, Chèn, Cập nhậtXóađược áp soi kèo bóng đá truoctran trong khi thực hiệnHợp nhất, Tùy thuộc vào các hành động được thực hiện.

Thảo luận bổ sung và các ví dụ thực tế có thể được tìm thấy trongPhần 5.9.

Tương thích

Tạo soi kèo bóng đá truoctranlà mộtPOSTGRESQLphần mở rộng.

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 soi kèo bóng đá truoctran 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 liệu.