Untitled
unknown
mysql
15 days ago
1.3 kB
2
Indexable
Never
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;
Leave a Comment