Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql dml操作前后的区别是什么?(行级安全性)_Sql_Sql Server_Database_Multi Tenant - Fatal编程技术网

Sql dml操作前后的区别是什么?(行级安全性)

Sql dml操作前后的区别是什么?(行级安全性),sql,sql-server,database,multi-tenant,Sql,Sql Server,Database,Multi Tenant,我已经为我的Ms Sql Server数据库创建了安全策略。我试图找出dml操作前后的区别。另外,如果知道使用它的理由是什么,那就太好了。我找不到任何关于我的主题的清晰解释 CREATE SECURITY POLICY [Security].DealershipsCarsFilter ADD FILTER PREDICATE [Security].fn_securitypredicate(DealershipId) ON dbo.[DealershipsCars]

我已经为我的Ms 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);  

对于
更新
,您可以为之前的
之后的
指定不同的策略,以便在应用更新之前评估行中的旧值,在应用更新之后评估行中的新值。或者,您可能希望在这两种情况下应用相同的策略。选择权在你

对于
INSERT
DELETE
,您只能分别在
之后或
之前选择
,因为行在另一种状态下不存在

这是一个很长的说法,这里的前后没有一些深刻的技术意义,而是采用了它们简单的英语意义