INSERT INTO sg_masking_rule (rule_id, rule_code, rule_name, template_code, description, enabled_yn) VALUES (#{ruleId}, #{command.ruleCode}, #{command.ruleName}, #{command.templateCode}, #{command.description}, 'Y') UPDATE sg_masking_rule SET enabled_yn = #{enabledYn} WHERE rule_id = #{ruleId} MERGE INTO sg_column_masking_rule dst USING (SELECT #{columnId} column_id, #{ruleId} rule_id FROM dual) src ON (dst.column_id = src.column_id) WHEN MATCHED THEN UPDATE SET dst.rule_id = src.rule_id, dst.updated_at = SYSTIMESTAMP WHEN NOT MATCHED THEN INSERT (column_id, rule_id, updated_at) VALUES (src.column_id, src.rule_id, SYSTIMESTAMP) DELETE FROM sg_column_masking_rule WHERE column_id = #{columnId} DELETE FROM sg_user_masking_rule WHERE column_id = #{columnId} MERGE INTO sg_user_masking_rule dst USING (SELECT #{userId} user_id, #{columnId} column_id, #{decision} decision FROM dual) src ON (dst.user_id = src.user_id AND dst.column_id = src.column_id) WHEN MATCHED THEN UPDATE SET dst.decision = src.decision, dst.active_yn = 'Y', dst.updated_at = SYSTIMESTAMP WHEN NOT MATCHED THEN INSERT (user_id, column_id, decision, active_yn, updated_at) VALUES (src.user_id, src.column_id, src.decision, 'Y', SYSTIMESTAMP) DELETE FROM sg_user_masking_rule WHERE user_id = #{userId} AND column_id = #{columnId}