我正在使用 Oracle 11gR2,并且我有两个模式 -A和B,并且每个模式都有一个相似的CUSTOMER表。  
更新时B.CUSTOMER,我希望相同的更新发生在A.CUSTOMER. 架构 A 对架构 B 具有完全权限,但我希望架构 B 对架构 A 拥有尽可能少的权限。   
我在模式 A 中编写了一个过程,A.UPDATE_CUSTOMER它接受一个B.CUSTOMER%ROWTYPE变量并使用它来更新 A.CUSTOMER,并授予对模式 B 的过程执行。
B.CUSTOMER我在调用此更新过程的更新触发器后为每一行创建了一个,它可以按需要工作。但我认为用户 B 可以在触发器之外显式调用该过程,我不想允许这样做。  
有没有办法防止A.UPDATE_CUSTOMER在触发器之外被 B 调用?还是有其他方法可以防止用户 BA.CUSTOMER在触发器之外进行更新?