我在触发器中得到了用于更新的错误语句--触发器外的相同更新语句正在按预期工作。
设置模式- B
B.Tab1 B_Write_Role具有在B.Tab1中更新表的权限
模式-一个
模式具有B_Write_Role
对于模式来说,没有直接角色,它是通过_Write_Role实现的。
在执行表的更新语句时- B.Tab1正在按预期工作。但是,当同一个语句通过触发器执行时,它会抛出一个错误。
注意:当为B.Tab1触发器的模式A分配直接更新权限时,很好。
为什么会有这种行为?是否有任何方法可以在不将直接权限分配给架构和通过角色处理的情况下处理这一问题?
发布于 2022-07-21 08:05:29
这是意料之中的。通过角色获得的特权在名为的 PL/SQL程序(例如函数、过程或触发器(这就是您的情况)中无法工作)。
你能做什么?没有;直接授予特权。
https://stackoverflow.com/questions/73062615
复制相似问题