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
Tạo soi kèo bóng đá truoctrantên
trê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
8440_8508sử dụng_expression
)]] [Với kiểm tra (Check_expression
)]
TheTạo soi kèo bóng đá truoctran
Lệ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.
Một soi kèo bóng đá truoctran cấp cho phép chọn, chèn, cập nhật hoặc xóa các hàng phù hợp với biểu thức soi kèo bóng đá truoctran có liên quan. Các hàng bảng hiện có được kiểm tra đối với biểu thức được chỉ định trongsử soi kèo bóng đá truoctran
, trong khi các hàng mới sẽ được tạo quaChèn
hoặ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 đá truoctran
Biể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 Avới kiểm tra
Biể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
vàCập nhật
Câu lệnh,với kiểm tra
Biểu thức được thi hành sautrước
Kí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àng
Trigger 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 tra
Biể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 đó.
10535_10797Bảng 272Tó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 đá truoctran
vàvới kiểm tra
Biểu thức (tất cả
vàCập nhật
), nếu khôngvới kiểm tra
Biểu thức được xác định, sau đósử soi kèo bóng đá truoctran
Biể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 đá truoctran
trường hợp) và các hàng mới nào sẽ được phép thêm (với kiểm tra
trườ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, Amặc định từ chố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.
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 booleanhoặcxôngtoá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ế
12994_13169vàtoá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ật
vàXó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
14749_14755SQLBiểu thức có điều kiện (trả vềBoolean
14859_15194Chọn
) và sẽ không khả soi kèo bóng đá truoctran để sửa đổi (trong mộtCập nhật
hoặ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
anySQLBiể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 sử soi kèo bóng đá truoctran trongChèn
vàCập nhật
Truy 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.
tất cả
Sử soi kèo bóng đá truoctrantất cả
Đối với một soi kèo bóng đá truoctran có nghĩa là nó sẽ áp dụng cho tất cả các lệnh, bất kể loại lệnh. Nếu mộttấ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 đá truoctran
Biểu thức cho cả hai trường hợp nếu chỉ ASử soi kèo bóng đá truoctran
Biểu thức đã được xác định.
làm ví dụ, nếuCập nhật
17312_17335tất cả
soi kèo bóng đá truoctran sẽ được áp dụng cho cả những gìCập nhật
sẽ có thể chọn làm hàng sẽ được cập nhật (áp soi kèo bóng đá truoctran17526_17533
Biể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 tra
Biểu thức, nếu được xác định và17751_17758
Biểu thức khác). Nếu mộtChèn
hoặcCập nhật
Lệ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 tra
Biể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 soi kèo bóng đá truoctran có nghĩa là nó sẽ áp dụng choChọn
Truy vấn và bất cứ khi nàoChọn
Quyền được yêu cầu đối với mối quan hệ soi kèo bóng đá truoctran được xác định. Kết quả là chỉ những bản ghi đó từ mối quan hệ vượt quaChọn
soi kèo bóng đá truoctran sẽ được trả lại trong thời gianChọn
Truy vấn và truy vấn đó yêu cầuChọn
Quyền, chẳng hạn nhưCập nhật
18769_18830Chọn
soi kèo bóng đá truoctran. MỘTChọn
soi kèo bóng đá truoctran không thể cóvới kiểm tra
Biể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
19265_19309Chèn
lệnh. 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èn
Lệnh sẽ bị hủy bỏ. MỘTChèn
soi kèo bóng đá truoctran không thể cósử soi kèo bóng đá truoctran
Biể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èn
vớitrên xung đột do cập nhật
Kiểm traChèn
soi kèo bóng đá truoctran 'với kiểm tra
Biể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ật
vàChọn chia sẻ
Các lệnh, cũng như phụ trợtrên xung đột do cập nhật
mệnh đề củaChèn
lệnh. TừCập nhật
Liê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ật
soi kèo bóng đá truoctran chấp nhận cả ASử soi kèo bóng đá truoctran
Biểu thức và Avới kiểm tra
Biểu thức. TheSử soi kèo bóng đá truoctran
Biểu thức xác định bản ghi nào20918_20926
Lệnh sẽ thấy để hoạt động chống lại, trong khivới kiểm tra
Biể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 tra
Biể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 đá truoctran
mệnh đề được chỉ định, sau đó mệnh đề đó sẽ được sử soi kèo bóng đá truoctran cho cả haiSử soi kèo bóng đá truoctran
vàvới kiểm tra
trường hợp.
Thông thường làCập nhật
Lệ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 AWHERE
mệnh đề hoặc ATrở về
mệnh đề hoặc trong một biểu thức ở phía bên phải củaset
mệnh đề). Trong trường hợp này,Chọn
Quyề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ọn
hoặctất cả
soi kèo bóng đá truoctran sẽ được áp dụng ngoàiCập nhật
soi 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ọn
hoặ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ật
hoặctất cả
soi kèo bóng đá truoctran.
Khi mộtChèn
Lệnh có phụ trợtrên xung đột do cập nhật
mệ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 đá truoctran
Biểu thức của bất kỳCập nhật
soi kèo bóng đá truoctran, và sau đó hàng được cập nhật mới được kiểm tra đối vớivới kiểm tra
Biểu thức. Tuy nhiên, lưu ý rằng không giống như độc lậpCập nhật
lệnh, nếu hàng hiện tại không vượt quaSử soi kèo bóng đá truoctran
Biể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óa
lệ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óa
Lệnh. Có thể có các hàng có thể nhìn thấy thông quaChọn
Không có sẵn để xóa, nếu họ không vượt quasử soi kèo bóng đá truoctran
Biểu thức choXóa
soi kèo bóng đá truoctran.
Trong hầu hết các trường hợp AXóa
Lệ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 AWHERE
mệnh đề hoặc ATrở về
mệnh đề). Trong trường hợp này,Chọn
Quyền cũng được yêu cầu đối với mối quan hệ và thích hợpChọn
hoặctất cả
soi kèo bóng đá truoctran sẽ được áp dụng ngoàiXóa
soi 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ọn
hoặctất cả
soi kèo bóng đá truoctran ngoài việc được cấp phép để xóa (các) hàng thông qua A24573_24581
hoặctất cả
soi kèo bóng đá truoctran.
AXóa
soi kèo bóng đá truoctran không thể cóvới kiểm tra
Biể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 272. 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àng mới | - | - | - |
Chèn ... Trả về |
hàng mới[A] | hàng mới | - | - | - |
Cập nhật |
hàng hiện tại & hàng 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ụ: A |
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ọn
vàCập nhật
soi kèo bóng đá truoctran được áp dụng cho mộtCập nhật
Lệ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ụngvà
toá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ép
soi 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ép
Biể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à
30254_30293và
. Nếu không cócho phép
soi 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ật
Lệnh yêu cầu cảChọn
vàCập nhật
Quyề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ức
Từ hạn chế chọn/tất cả soi kèo bóng đá truoctran 1 VÀBiểu thức
Từ hạn chế chọn/tất cả soi kèo bóng đá truoctran 2 VÀ ... VÀ (Biểu thức
Từ lựa chọn cho phép/Tất cả soi kèo bóng đá truoctran 1 HOẶCBiểu thức
Từ chọn cho phép/tất cả soi kèo bóng đá truoctran 2 HOẶC ... ) VÀBiểu thức
Từ bản cập nhật hạn chế/Tất cả soi kèo bóng đá truoctran 1 VÀBiểu thức
Từ bản cập nhật hạn chế/Tất cả soi kèo bóng đá truoctran 2 VÀ ... VÀ (Biểu thức
Từ bản cập nhật cho phép/Tất cả soi kèo bóng đá truoctran 1 HOẶCBiểu thức
Từ bản cập nhật cho phép/Tất cả soi kèo bóng đá truoctran 2 HOẶC ... )
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ó.
Trong khi các soi kèo bóng đá truoctran sẽ được áp dụng cho các truy vấn rõ ràng đối với các bảng trong cơ sở dữ liệu, chúng không được áp dụng khi hệ thống đang thực hiện kiểm tra toàn vẹn tham chiếu nội bộ hoặc xác thực các ràng buộc. Điều này có nghĩa là có những cách gián tiếp để xác định rằng một giá trị nhất định tồn tại. Một ví dụ về điều này là cố gắng chèn một giá trị trùng lặp vào một cột là khóa chính hoặc có một ràng buộc duy nhất. Nếu chèn không thành công thì người dùng có thể suy ra rằng giá trị đã tồn tại. . Sự tồn tại có thể được xác định bởi người dùng chèn các giá trị vào bảng tham chiếu, trong đó thành công sẽ chỉ ra rằng giá trị tồn tại trong bảng được tham chiếu. Những vấn đề này có thể được giải quyết bằng cách chế tạo cẩn thận các soi kèo bóng đá truoctran để ngăn người dùng không thể chèn, xóa hoặc cập nhật các bản ghi ở tất cả những gì có thể chỉ ra một giá trị mà chúng không thể nhìn thấy hoặc bằng cách sử dụng các giá trị được tạo (ví dụ: các khóa thay thế) thay vì các phím có nghĩa bên ngoài.
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àLeakproof
Có 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.
Vì các biểu thức soi kèo bóng đá truoctran được thêm trực tiếp vào truy vấn của người dùng, chúng sẽ được chạy với quyền của người dùng chạy truy vấn tổng thể. Do đó, người dùng đang sử dụng soi kèo bóng đá truoctran nhất định phải có thể truy cập bất kỳ bảng hoặc chức năng nào được tham chiếu trong biểu thức hoặc họ sẽ đơn giản nhận được lỗi bị từ chối khi cố gắng truy vấn bảng có bảo mật cấp hàng được bật. Điều này không thay đổi cách quan điểm hoạt động, tuy nhiên. Như với các truy vấn và chế độ xem thông thường, kiểm tra quyền và soi kèo bóng đá truoctran cho các bảng được tham chiếu bởi một chế độ xem sẽ sử dụng quyền của chủ sở hữu xem và bất kỳ soi kèo bóng đá truoctran nào áp dụng cho chủ sở hữu chế độ xem.
Thảo luận bổ sung và các ví dụ thực tế có thể được tìm thấy trongPhần 5.8.
Tạo soi kèo bóng đá truoctran
làPOSTGRESQLphần mở rộng.
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.