Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Convertir un Return INT a String

Estas en el tema de Convertir un Return INT a String en el foro de SQL Server en Foros del Web. Buen día, mi duda es: Puedo mostrar un mensaje (texto) en un Return ...? ya que tengo este SP: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original ...
  #1 (permalink)  
Antiguo 15/02/2013, 08:55
 
Fecha de Ingreso: enero-2013
Mensajes: 93
Antigüedad: 11 años, 10 meses
Puntos: 0
Convertir un Return INT a String

Buen día, mi duda es:

Puedo mostrar un mensaje (texto) en un Return...?

ya que tengo este SP:

Código SQL:
Ver original
  1. ALTER PROCEDURE [dbo].[SPReturn]
  2. (@id nvarchar(50))  
  3. AS  
  4. DELETE FROM  T_Competencia  
  5. WHERE ID=@id AND ID  NOT IN (SELECT DISTINCT id_competencia FROM t_gruporelacion)  
  6.    
  7. IF @@rowcount > 0  
  8. BEGIN  
  9. RETURN 1  
  10. END  
  11. ELSE IF @ID NOT IN(SELECT ID FROM T_Competencia)  
  12. RETURN 2
  13. ELSE  
  14.  RETURN 3

Ahora yo quisiera algo asi:

Código SQL:
Ver original
  1. (@id nvarchar(50))  
  2. AS  
  3. DELETE FROM  T_Competencia  
  4. WHERE ID=@id AND ID  NOT IN (SELECT DISTINCT id_competencia FROM t_gruporelacion)  
  5.    
  6. IF @@rowcount > 0  
  7. BEGIN  
  8. RETURN 'Registro borrado'  
  9. END  
  10. ELSE IF @ID NOT IN(SELECT ID FROM T_Competencia)  
  11. RETURN 'La tienda no existe'  
  12. ELSE  
  13.  RETURN 'La tienda no se puede borrar'

Lo ejecuto y me marca error que es:
Msg 245, Level 16, State 1, Procedure SPReturn, Line 17
Conversion failed when converting the varchar value 'La tienda no se puede borrar' to data type int.

Quisiera saber como mostrar el mensaje en lugar de solo numeros...
Ayuda! Gracias por adelantado
  #2 (permalink)  
Antiguo 15/02/2013, 09:01
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Convertir un Return INT a String

otra vez??? el return solo regresa enteros, si quieres regresar un valor varchar utiliza la funcion output, no te sirvio como te lo plantie? de usar una tabla con las descripciones?
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 15/02/2013, 09:15
 
Fecha de Ingreso: enero-2013
Mensajes: 93
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Convertir un Return INT a String

Cita:
Iniciado por Libras Ver Mensaje
otra vez??? el return solo regresa enteros, si quieres regresar un valor varchar utiliza la funcion output, no te sirvio como te lo plantie? de usar una tabla con las descripciones?
Si me sirvio Libras en serio muchas gracias, y ya le dije a mi jefe que no se podia que ya investigue y ya me dijo que lo hiciera con OUTPUT! -.- recuerdas como podria ser con OUTPUT?

Última edición por davidalonsso05; 15/02/2013 a las 09:34
  #4 (permalink)  
Antiguo 15/02/2013, 09:41
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Convertir un Return INT a String

http://www.forosdelweb.com/f87/conta...alida-1036382/
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 15/02/2013, 10:29
 
Fecha de Ingreso: enero-2013
Mensajes: 93
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Convertir un Return INT a String

La verdad no le entiendo muy bien al ejemplo Libras si me pudieras orientar
  #6 (permalink)  
Antiguo 15/02/2013, 10:37
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Convertir un Return INT a String

Código SQL:
Ver original
  1. CREATE TABLE valores
  2. (
  3. id INT
  4. )
  5.  
  6. INSERT INTO valores VALUES (1)
  7. INSERT INTO valores VALUES (2)
  8. INSERT INTO valores VALUES (3)
  9. INSERT INTO valores VALUES (4)
  10. INSERT INTO valores VALUES (5)
  11.  
  12.  
  13. CREATE PROCEDURE [dbo].[sp_Borra_Competencia]
  14. (@id INT,@mensaje VARCHAR(200) output )
  15. AS
  16.  
  17. DELETE FROM valores WHERE ID=@id
  18.  
  19. IF @@rowcount > 0
  20. BEGIN
  21. SET @mensaje='Se borro la tienda con ID ' + CONVERT(VARCHAR(10),@id)
  22. END
  23. ELSE
  24. IF @ID NOT IN(SELECT ID FROM valores)
  25. SET @mensaje='La tienda no existe'
  26. ELSE
  27.  SET @mensaje='Error: La tienda tiene relacion con ID ' + CONVERT(VARCHAR(10),@id)
  28.  
  29.  
  30. DECLARE @mensaje VARCHAR(200);
  31. EXEC [sp_Borra_Competencia] '10', @mensaje output
  32.  
  33. SELECT @mensaje
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: int, procedure, registro, return, select, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:42.