经确认,merge into的sql语句涉及的目标表上的确添加了访问控制策略:ACLINSERT、ACLQUERY、ACLUPDATE,
但是,merge into语句使用要求insert、delete、update同时支持,所以merge into 语句执行报错ORA-28132。
解决方法:
1、为merge into涉及的目标表添加ACLDELETE策略:
BEGIN
DBMS_RLS.add_policy (object_schema => 'BMI',
object_name => 'DW_BILLDETAIL',
policy_name => 'ACLDELETE',
function_schema => 'BMI',
policy_function => 'F_LIMITED_DELETE_DW_BILLDETAIL');--需要根据需求自定义
END;
/
2、删除merge into涉及的目标表上添加的访问控制策略:
BEGIN
DBMS_RLS.drop_policy (object_schema => 'BMI',
object_name => 'DW_BILLDETAIL',
policy_name => 'ACLUPDATE');
END;
/
BEGIN
DBMS_RLS.drop_policy (object_schema => 'BM
执行merge into 时报错解决办法
最新推荐文章于 2024-02-02 09:50:32 发布
在尝试使用Oracle的MERGE INTO语句进行数据整合时遇到了错误。本文详细记录了遇到的问题,包括错误信息的解析,以及如何通过调整SQL语句、检查数据源一致性等方法成功解决问题。通过实例分享了解决此类问题的关键步骤和注意事项。
摘要由CSDN通过智能技术生成