Raise error con parámetros

01/12/2003 - 11:03 por Alberto | Informe spam
En un trigger envío un mensaje de error con raiserror creado anteriormente
con sp_addmessage. El mensaje fue añadido del siguiente modo:
sp_addmessage 60000, 16, 'El cliente %s debe existir'

En el trigger lanzo el mensaje del siguiente modo:
if exists
(
select 'true'
from inserted i
left join customers c
on i.customerid = c.customerid
where c.customerid is null
)
begin
raiserror (60000, 16, 1, 'CustomerID')
rollback tran
end

Al probarlo veo lo siguiente:
Servidor: mensaje 60000, nivel 16, estado 1, procedimiento
PedidoTieneCliente, línea 14
pero no aparece el mensaje "el cliente ... debe existir'.

¿Por qué?

Gracias por la ayuda.
 

Leer las respuestas

#1 Javier Loria
01/12/2003 - 13:56 | Informe spam
Hola Alberto:
Pues desde este lado funciona correctamente, el error debe estar en otro
lugar, podrias enviar mas informacion sobre el contexto en que esta
ocurriendo (Como estas haciendo el insert, o sobre la tabla sobre la que
estas haciendo el trigger).
Por otra parte es mi idea o estas tratanto de implementar una llave
foranea?
Saludos,

Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Alberto escribio:
En un trigger envío un mensaje de error con raiserror creado
anteriormente con sp_addmessage. El mensaje fue añadido del siguiente
modo: sp_addmessage 60000, 16, 'El cliente %s debe existir'

En el trigger lanzo el mensaje del siguiente modo:
if exists
(
select 'true'
from inserted i
left join customers c
on i.customerid = c.customerid
where c.customerid is null
)
begin
raiserror (60000, 16, 1, 'CustomerID')
rollback tran
end

Al probarlo veo lo siguiente:
Servidor: mensaje 60000, nivel 16, estado 1, procedimiento
PedidoTieneCliente, línea 14
pero no aparece el mensaje "el cliente ... debe existir'.

¿Por qué?

Gracias por la ayuda.

Preguntas similares