Compréhension d'une fonction sous Oracle
Bonjour!
Je dois effectuer une modification dans un (long!!) programme, et avant toute chose j'essai de comprendre exactement ce qu'il fait.
Et notament je tombe sur une fonction oracle, et je ne comprend pas du tout ce qu'elle fait!
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
create or replace FUNCTION F_NEW_NUMERO(value_n NUMBER) RETURN NUMBER IS N NUMBER;
BEGIN
if value_n > 1000 then
BEGIN
select 200000+min(numero_id) INTO N from MaTable
where flag=1
and (200000+numero_id not in (select numero_id from MaTable ));
RETURN N;
END;
else RETURN value_n ;
end IF;
END F_NEW_NUMERO; |
Pour les valeurs inférieur à 1000, c'est facile, cette fonction retourne la valeur passée en paramètre. Par contre, pour le reste, j'avou que pour moi c'est totalement incompréhensible:
Code:
1 2 3 4 5
|
select 200000+min(numero_id) INTO N from MaTable
where flag=1
and (200000+numero_id not in (select numero_id from MaTable ));
RETURN N; |
Si quelqu'un pouvait m'aider, se sera vraiment sympa...
Merci d'avance...