INSERT INTO sg_app_role (role_id, role_name, description, max_sensitivity_level)
VALUES (
#{roleId,jdbcType=NUMERIC},
UPPER(#{roleName,jdbcType=VARCHAR}),
#{description,jdbcType=VARCHAR},
#{maxSensitivityLevel,jdbcType=VARCHAR}
)
UPDATE sg_app_role
SET max_sensitivity_level = #{maxSensitivityLevel,jdbcType=VARCHAR}
WHERE role_id = #{roleId,jdbcType=NUMERIC}
DELETE FROM sg_app_role
WHERE role_id = #{roleId,jdbcType=NUMERIC}
INSERT INTO cb_permission (perm_id, role_id, target_name, action_name, permission_effect)
SELECT #{permissionId}, #{roleId}, object_name, #{action}, #{permissionEffect}
FROM cb_protected_object
WHERE object_id = #{objectId}
UPDATE cb_permission
SET action_name = #{action}
WHERE perm_id = #{permissionId}
UPDATE cb_permission
SET permission_effect = #{permissionEffect}
WHERE perm_id = #{permissionId}
DELETE FROM cb_permission_rule
WHERE perm_id = #{permissionId}
INSERT INTO cb_permission_rule (rule_id, perm_id, rule_column, rule_type, rule_value)
VALUES (
#{ruleId,jdbcType=NUMERIC},
#{permissionId,jdbcType=NUMERIC},
#{ruleColumn,jdbcType=VARCHAR},
#{ruleType,jdbcType=VARCHAR},
#{ruleValue,jdbcType=VARCHAR}
)
DELETE FROM cb_permission_column
WHERE permission_id = #{permissionId}
INSERT INTO cb_permission_column (permission_id, column_name)
VALUES (#{permissionId}, #{columnName})
DELETE FROM cb_permission
WHERE perm_id = #{permissionId}