Tengo el siguiente trigger:
declare @st_codigo varchar(40),
@total_ubica cantidad,
@stock cantidad,
@stock_string varchar,
@total_ubica_string varchar
select @st_codigo=st_codigo from inserted
select @total_ubica=sum(ub_cantidad) from Ubicaciones
where st_codigo=@st_codigo
select @stock=st_stock from Stock
where st_codigo=@st_codigo
if @total_ubica>@stock
begin
SELECT @stock_string=CONVERT(varchar(20),@stock)
SELECT @total_ubica_string=CONVERT(varchar(20),@total_ubica)
RAISERROR (La suma es: %s y no debe superar %s ',16,
1,@total_ubica_string,@stock_string)
ROLLBACK TRANSACTION
end
El problema es que cuando se produce el error, es decir @total_ubica>@stock
lo cual lo detecta perfectamente, en el mensaje de error solo me aparece el
primer dígito de cada parámetro del raiserror. o sea el primer dígito de
@total_ubica_string y el primer dígito de @stock_string en lugar de aparecer
el número completo.
Alguien podría decirme que está pasando?
Desde ya muchas gracias
Guillermo
Leer las respuestas