Pregunta: | 27724 - TRIGGERS EN ORACLE |
Autor: | Facundo Pablo |
Me gustarìa que alguien mi diga en que esta fallando este proceso.
La idea es saber cuando se carga una direccion de mail. Que evalue que siempre lleve @ en alguna parte de la cadena de caracteres. Muchas gracias -------------------------------------- create or replace trigger tr_clientes_email before insert or update of e_mail on cliente declare valor number; begin valor := 1; if valor := 50 then letra := substr(e_mail,valor,1); if letra := '@' then exit else valor := valor+1; end if; else raise_application_error(-20601,'No contiene un @ en la direccion'); end if; end; |
Respuesta: | Vladimir Gutierrez |
Quizas no te arroja error por que el RAISE_APLICATION_ERROR solo hace efecto cuando este está en una EXCEPTION.
Crea tu propio RAISE y coloca este en la condicion para que este se vaya a la EXCEPTION y desde este coloca el RAISE_APLICATION_ERROR. |
Respuesta: | Rodrigo echeverria |
prueba este codigo a mi me funco
declare pos1 number; begin pos1 := instr(:texto,'@'); if pos1 >= 1 then message('tiene @'); else message('No tiene @'); end if; end; chao.. |