un SP solo devuelve un valor?

17/05/2004 - 14:10 por Jomaweb | Informe spam
hola

¿los valores de retorno de un procedimiento almacenado siempre se cortan a
un caracter?

lo digo porque con este SP:

CREATE PROCEDURE pa_eliminacontrato @socio integer, @mensaje varchar output
as
IF @ROW=0
set @mensaje= 'NO EXISTEN RECIBOS ASOCIADOS AL CONTRATO '
ELSE
set @mensaje= 'SE VA A BORRAR UN REGISTRO'

print @mensaje


el print me devuelve "S"
Es como si solo me devolviera el primer valor. Y eso que está declarado como
VARCHAR

¿cómo hago para que me lo devuelva entero?

Preguntas similare

Leer las respuestas

#1 Tinoco
17/05/2004 - 14:27 | Informe spam
Hola.

Utiliza una declaración como esta:

declare @vc as varchar(100)

Hermilson
MCDBA, MCSD

Mostrar la cita
siempre se cortan a
Mostrar la cita
@mensaje varchar output
Mostrar la cita
CONTRATO '
Mostrar la cita
está declarado como
Mostrar la cita
#2 Javier Loria
17/05/2004 - 15:18 | Informe spam
Hola:
Ocurre porque el tamano default de un varchar o char que no se
especifica el largo es 1. Por ende mensaje es un VARCHAR(1). Define el
largo adecuado y veras el mensaje completo.
Por otra parte y no se si es por el ejemplo pero si vas a usar el
mensaje para imprimir no lo declares como parametro, definelo como variable
(Sacalo del parentisis y le pones DECLARE antes). Si lo vas a pasar
entonces el codigo esta OK..
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.

Jomaweb escribio:
Mostrar la cita
#3 Jomaweb
17/05/2004 - 15:32 | Informe spam
Pues quería usar el mensaje para imprimirlo en una página ASP. ¿mejor como
variable?

Mostrar la cita
variable
Mostrar la cita
#4 Javier Loria
17/05/2004 - 15:45 | Informe spam
Hola:
No en este caso no lo uses como variable, tu codigo esta bien y como
estas usando OUTPUT ya es de salida.
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.

Jomaweb escribio:
Mostrar la cita
#5 Gustavo Larriera [MVP SQL]
17/05/2004 - 15:47 | Informe spam
Te has olvidado de declarar el tamaño del tipo de datos VARCHAR. Prueba
VARCHAR(n) donde 'n' es la cantidad de caracteres a almacenar en el string.

Gustavo Larriera, MVP-SQL, MCSE
Uruguay LatAm
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.
"Jomaweb" wrote in message
news:u%
Mostrar la cita
output
Mostrar la cita
como
Mostrar la cita
Ads by Google
Search Busqueda sugerida