Merci pour votre réponse,
Mais le problème est plus difficile que ça?
j veux détaille plus mon problème:
j un table 'Test' qui comporte un champ appelé 'NumFloat' du type varchar2. quand j exécute la requêtte sql suivant :
insert into Test (Numfloat) values (10);
un trigger va être déclenché; ce trigger va vérifier la validité du contenu du champs NumFloat avant l'insertion.
alors ce trigger va vérifier si le contenu du cette champ vérifier la condition (entre 10 et 100).
dans je utiliser la notion de l'expression régulière, voici un bot du code :
SET SERVEROUTPUT ON
CREATE OR REPLACE TRIGGER Test_trig
BEFORE INSERT ON Test
FOR EACH ROW
DECLARE
v_verify BOOLEAN;
BEGIN
IF :new.Numfloat is not null then
v_verify := REGEXP_LIKE(:new.Numfloat,'^[10-100]$');
IF NOT v_verify
THEN
DBMS_OUTPUT.PUT_LINE('Numfloat: '||:new.Numfloat);
RAISE_APPLICATION_ERROR( - 20003,'valeur non valid!!!!');
END IF;
END IF;
END;
/
Mon problème est : cette instruction donne des résultats fausses :
v_verify := REGEXP_LIKE(:new.Numfloat,'^[10-100]$');
De plus j'ai veut que l'intervalle [10, ..., 100] sera changer selon le besoin du l'utilisateur.