我已经为我的Sql Server数据库创建了安全策略。我正在尝试找出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);
答案 0 :(得分:3)
对于UPDATE
,您可以为BEFORE
和AFTER
指定不同的策略,以允许您在应用更新之前评估行中的旧值,并在其中应用新值。应用更新后的行。或者,您可能希望在两种情况下都应用相同的策略。选择是您的。
对于INSERT
或DELETE
,您只能分别选择AFTER
或BEFORE
,因为行中的行不存在其他状态。
长话不说,这里前后没有什么深层次的技术意义,取而代之的是简单的英语含义。