Untitled
unknown
mysql
a year ago
1.3 kB
11
Indexable
DECLARE
v_id GDC_CARPETAS.id%TYPE;
BEGIN
-- Quitarle prefijo EM
:P87019_ID_EMPLEADO := SUBSTR(:P87019_ID_EMPLEADO, 3);
-- Consultar si ya existe una carpeta con ese nombre
SELECT id
INTO v_id
FROM GDC_CARPETAS
WHERE descripcion = :P87019_ID_EMPLEADO;
-- Si se encuentra, asignar el ID a la variable
:P87019_ID_CARPETA := v_id;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DECLARE
v_id_nuevo NUMBER;
BEGIN
-- Asignar un nuevo ID (puede ser el siguiente de una secuencia o alguna lógica)
SELECT NVL(MAX(id), 9999) + 1
INTO v_id_nuevo
FROM GDC_CARPETAS
WHERE id >= 10000;
-- Insertar la nueva carpeta
INSERT INTO GDC_CARPETAS
(
id,
descripcion,
id_padre,
codigo_empresa,
codigo_modulo
)
VALUES
(
v_id_nuevo,
:P87019_ID_EMPLEADO,
10,
:GLOBAL_EMPRESA,
87999
)
RETURNING id INTO :P87019_ID_CARPETA;
END;
END;Editor is loading...
Leave a Comment