1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| -- On cherche dans les source_text si le ou le couple de critère est présent
SELECT count(*) INTO v_verif FROM TEMP_REF WHERE t_critere = p_critere_1;
IF (v_verif = 0)
THEN
SELECT REGEXP_COUNT(upper(cursor2.source_text), upper(p_critere_1)) INTO v_nbre1 FROM DUAL;
INSERT INTO TEMP_REF VALUES (p_critere_1, v_nbre1);
ELSE
SELECT t_compteur INTO t_nbre1 FROM TEMP_REF;
v_nbre1 := t_nbre1;
END IF;
IF (v_nbre1 != 0)
THEN
SELECT REGEXP_COUNT(upper(cursor2.source_text), upper(p_critere_2)) INTO v_nbre2 FROM DUAL;
IF (p_critere_2 IS NOT NULL)
THEN
IF (v_nbre1 = 0 OR v_nbre2 = 0)
THEN
v_nbre := 0;
ELSIF (v_nbre1 < v_nbre2)
THEN
v_nbre := v_nbre1;
ELSE
v_nbre := v_nbre2;
END IF;
ELSE
v_nbre := v_nbre1;
END IF;
END IF;
-- On insère l'issu de la recherche dans la table XX_ANALYSE
INSERT INTO XX_ANALYSE(OBJECT, object_type, id_critere, nombre, code)
VALUES (cursor2.source_name, cursor2.source_type, p_id, v_nbre, p_code);
END LOOP; |
Partager