Problema para crear o modificar Trigger
Publicado por Juan Manuel Castañeda (3 intervenciones) el 07/03/2010 02:34:12
Hola a todos.
El sig. código me da error de compliación en la consulta y sintaxis incorrecta cerca de '.',
¿Por que?
Gracias por sus rtas.
ALTER TRIGGER Trigger1
ON dbo.Emails
FOR INSERT,UPDATE
AS
declare @pos int
declare @email nvarchar(50)
declare @mensaje NVARCHAR(255)
SELECT @email=EMAIL FROM inserted
set @pos=CHARINDEX(@email,'@')
if @pos=0
SET @mensaje='EMail NO contiene @'
ELSE
BEGIN
SET @mensaje='EMail:'
declare @pos1 int
set @pos1=CHARINDEX(@email,'@',@pos)
if @pos1<>0
SET @MENSAJE=@mensaje+'\n\t MAS de 1 @'
--set @pos1=CHARINDEX(@email,'.',@pos)
IF @pos1<>0
BEGIN
declare @pos2 int
SET @pos2=CHARINDEX(@email,'.',@pos1)
/*if @pos2<>0
BEGIN
declare @pos3 int
SET @pos3=CHARINDEX(@email,'.',@pos2)
if @pos3<>0
BEGIN
SET @mensaje=@mensaje+'\n\tContiene Más de 2.'
IF @pos1=@pos2-1 OR @pos2=@pos3-1
SET @mensaje=@mensaje+'\n\tContiene . Consecutivos'
END
ELSE
IF @pos1=@pos2-1
SET @mensaje=@mensaje+'\n\tContiene . Consecutivos'
END
*/
END
else
SET @MENSAJE=@mensaje+'\n\t NO CONTIENE . luego de @',21,1)
END
if len(@mensaje)>len('email')
BEGIN
RAISERROR(@mensaje,20,1)
rollback tran
END
COMMIT TRAN
El sig. código me da error de compliación en la consulta y sintaxis incorrecta cerca de '.',
¿Por que?
Gracias por sus rtas.
ALTER TRIGGER Trigger1
ON dbo.Emails
FOR INSERT,UPDATE
AS
declare @pos int
declare @email nvarchar(50)
declare @mensaje NVARCHAR(255)
SELECT @email=EMAIL FROM inserted
set @pos=CHARINDEX(@email,'@')
if @pos=0
SET @mensaje='EMail NO contiene @'
ELSE
BEGIN
SET @mensaje='EMail:'
declare @pos1 int
set @pos1=CHARINDEX(@email,'@',@pos)
if @pos1<>0
SET @MENSAJE=@mensaje+'\n\t MAS de 1 @'
--set @pos1=CHARINDEX(@email,'.',@pos)
IF @pos1<>0
BEGIN
declare @pos2 int
SET @pos2=CHARINDEX(@email,'.',@pos1)
/*if @pos2<>0
BEGIN
declare @pos3 int
SET @pos3=CHARINDEX(@email,'.',@pos2)
if @pos3<>0
BEGIN
SET @mensaje=@mensaje+'\n\tContiene Más de 2.'
IF @pos1=@pos2-1 OR @pos2=@pos3-1
SET @mensaje=@mensaje+'\n\tContiene . Consecutivos'
END
ELSE
IF @pos1=@pos2-1
SET @mensaje=@mensaje+'\n\tContiene . Consecutivos'
END
*/
END
else
SET @MENSAJE=@mensaje+'\n\t NO CONTIENE . luego de @',21,1)
END
if len(@mensaje)>len('email')
BEGIN
RAISERROR(@mensaje,20,1)
rollback tran
END
COMMIT TRAN
Valora esta pregunta


0