Hola a todos !
Estoy intentando hacer esta consulta en sql dinámico dentro de un
procedimiento. Quiero obtener el valor máximo de un campo (orden) de
una tabla y luego utilizar ese valor en el procedimiento. Al ejecutar
el procedimiento me da el siguiente error: "variable @ordenOUT must be
declared". Yo creo que ya está declarada en el execute sp_executesql.
Aún así he probado a declararla también arriba y sigue dando el
mismo error. Lo más curioso es que me imprime el valor de @orden
correctamente, pero me da el error y no me ejecuta el resto del
procedimiento. ¿Alquién sabe qué estoy haciendo mal?
declare @orden varchar(10)
set @strGetOrden=N'select @ordenOUT=max(orden) from '+ @tabla
execute sp_executesql @strGetOrden,N'@ordenOUT nvarchar(10)
output',@ordenOUT=@orden output
print @orden
if @orden is null
set @orden=1
else
set @orden=@orden + 1
Gracias de antemano.
Un saludo.
Leer las respuestas