我想设置grant / revoke并在oracle apex中创建角色。但是我不希望为用户执行此操作,但是对于表中的数据,例如基于表中的Id,我想要撤消其更新任何数据的权限。这是可能的,这是最好的方法。
答案 0 :(得分:0)
您无法对表格中的特定行执行此操作。您只能为整个表格发出GRANT / REVOKE。
http://docs.oracle.com/javadb/10.8.3.0/ref/rrefsqljgrant.html
您必须在应用程序(PL / SQL)级别处理表中特定数据的更新。
答案 1 :(得分:0)
有两种选择:
您可以使用Oracle Label Security。
您可以在表格顶部创建一个视图,该视图将根据当前用户的EMPLOYEE_ID
进行查询。
答案 2 :(得分:0)
一些注意事项,过去曾在PostgreSQL上做过类似的事情。
第一种方法涉及第二种方法的所有问题,然后是一些问题。原因是您必须在您的视图中编写策略引擎。在第二种方法中,您可以获得一个策略引擎,您可以将策略应用到。
经验中的一些注释:
这类事情通常是性能问题,需要一些时间才能解决。随着您未曾想过的用例变得重要,请做好长时间的优化准备。