Files
oper/DB/PROCEDURES/P_MANAGE_AUX_PROFILE.sql
2023-06-08 11:55:59 -03:00

56 lines
1.6 KiB
MySQL

--------------------------------------------------------
-- DDL for Procedure P_MANAGE_AUX_PROFILE
--------------------------------------------------------
set define off;
CREATE OR REPLACE EDITIONABLE PROCEDURE "ENVX_OPER"."P_MANAGE_AUX_PROFILE" (
pi_id_sys_profile_tree IN NUMBER,
pi_id_sys_profile IN NUMBER,
pi_id_step_flow IN NUMBER,
po_resultado OUT VARCHAR2
) AS
v_insert BOOLEAN := false;
v_aux NUMBER;
BEGIN
IF pi_id_sys_profile != pi_id_sys_profile_tree THEN
SELECT COUNT(1)
INTO v_aux
FROM request_sw_auxiliar_profile
WHERE id_step_flow = pi_id_step_flow
AND id_sys_profile = pi_id_sys_profile_tree;
IF v_aux > 0 THEN
v_insert := false;
po_resultado := 'El perfil ya se encuentra como auxiliar del paso seleccionado';
ELSE
v_insert := true;
END IF;
IF v_insert THEN
INSERT INTO request_sw_auxiliar_profile (
id_sw_aux_profile,
id_step_flow,
id_sys_profile,
status_aux_profile
) VALUES (
s_request_sw_aux_profile_id.NEXTVAL,
pi_id_step_flow,
pi_id_sys_profile_tree,
1
);
po_resultado := 'Perfil agregado como auxiliar';
END IF;
ELSE
po_resultado :=
CASE
WHEN pi_id_sys_profile_tree > 0 THEN
'El perfil ya se encuentra como auxiliar del paso seleccionado'
ELSE 'No puede agregar un rol como auxiliar, seleccione un perfil'
END;
END IF;
END;
/