我有一个关于静态策略类型的行级安全性的问题
示例:
RLS函数正在查询同一个表Temp以根据当前上下文用户查找谓词,sysdate上没有其他逻辑。
现在我的问题是:
我觉得很难理解
答案 0 :(得分:0)
如果策略类型为STATIC,则谓词不会更改。它将被缓存在SGA中。但是,如果上下文参数值(在您的情况下为user)发生更改,则谓词将在上下文中评估参数用户的新值。因此输出将取决于上下文中参数用户的新值。
每次都不会执行该功能。谓词将在SGA中缓存。
OracleDocumentation供您参考。
更新: 上述Oracle文档清楚地说明了以下内容。
生成动态WHERE子句的函数不能从关联策略函数中的表中进行选择。虽然您可以针对表定义策略,但是您无法从针对该表定义的策略中选择该表。