簡體   English   中英

BEFORE和AFTER dml操作之間有什么區別? (行級安全)

[英]What is a difference between BEFORE and AFTER dml operations ? (Row-Level Security)

我已經為我的Ms Sql Server數據庫創建了安全策略。 我試圖找出BEFORE和AFTER dml操作之間的區別。 知道使用它的理由是很好的。 我找不到任何關於我話題的明確表述。

CREATE SECURITY POLICY [Security].DealershipsCarsFilter 
    ADD FILTER PREDICATE [Security].fn_securitypredicate(DealershipId)   
        ON dbo.[DealershipsCars],  
    ADD BLOCK PREDICATE [Security].fn_securitypredicate(DealershipId)   
        ON dbo.[DealershipsCars] AFTER INSERT
    WITH (STATE = ON);  

對於UPDATE ,您可以為BEFOREAFTER指定不同的策略,以允許您在應用更新之前評估行中的舊值以及應用更新后的行中的新值。 或者您可能希望在兩種情況下都應用相同的策略。 這是你的選擇。

對於INSERTDELETE ,您只能分別選擇AFTERBEFORE ,因為這些行在另一個狀態中不存在

這是一個很長的路要說,在這里之前和之后沒有一些深刻的技術含義,而是采用了他們簡單的英語含義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM