PDA

Ver la Versión Completa : Help Con Este Procedure`


Ledian_Fdez
05-11-2015, 21:50:48
Hola amigos tengo este procedimiento almacenado


ALTER PROCEDURE COMPARE

AS

DECLARE @X INT
DECLARE @B INT
SET @B = 20

SELECT TOP 1 @X=IDMOVIMIENTO FROM MOVIMIENTO ORDER BY IDMOVIMIENTO DESC

IF @X>@B

PRINT @X + ' ES MAYOR QUE ' + @B

cuando lo ejecuto

EXEC COMPARE

me lanza este error Conversion failed when converting the varchar value ' ES MAYOR QUE ' to data type int.


Grasias de antemano
Saludos,

roman
05-11-2015, 22:14:13
No conozco SQL Server pero supongo que la concatenación de cadenas no se hace con el operador +. En tu expresión:


PRINT @X + ' ES MAYOR QUE ' + @B


seguramente intenta convertir la cadena a entero para acoplarse a los otros parámetros. Busca a ver si hay una función CONCAT.

// Saludos

fjcg02
05-11-2015, 22:54:21
Hola

Dudo si un procedimiento puede hacer un print y que se vea algo...

Por otro lado, print sólo puede usarse con strings, aunque si pone PRINT @X siendo @X un entero, creo que hace la conversión automática.

Si quieres hacer lo que muestras, debes hacer un cast de los enteros.

PRINT cast(@X as varchar(20))+' HOLAKEASE '+cast(@B as varchar(20))

Saludos

Osorio
06-11-2015, 14:24:25
Si lo que quieres es enviar un mensaje de error es mejor que veas:

RAISERROR

Ejemplo:

RAISERROR('esto es una prueba',16,217)


Si lo que quieres es indicar un estado o "informar" algo a tu aplicacion que consume el procedimiento almacenado, entonces puedes utilizar un parametro de salida OUTPUT.

Puedes darle un vistazo a este enlace:
https://technet.microsoft.com/es-es/library/ms187004%28v=sql.105%29.aspx