concatenar dentro de un SP con comillas

25/05/2004 - 10:40 por Jomaweb | Informe spam
Hola

Tengo esta consulta que si lanzo desde un ASP me funciona perfecta.

SELECT NOMBRE + ' ' + APELLIDOS AS cliente FROM CONTRATOS where GRUPO1= '
" & grupo & " ' OR GRUPO2 = ' " & grupo & "'

El problema es que quiero meterlo dentro de un Procedimiento almacenado que
recibe un parametro VARCHAR (@Grupo) y resulta que no hay dios de armar la
consulta por las comillas. Tengan en cuenta que el parámetro @grupo puede
llevar espacios y guiones. ¿cómo concateno tanta comilla sin error?

CREATE PROCEDURE CONSULTA @GRUPO VARCHAR(50) AS
DECLARE @CONSULTA VARCHAR(500)
SET @CONSULTA=SELECT NOMBRE + ' ' + APELLIDOS AS cliente FROM CONTRATOS
where GRUPO1="'" + @G + "'" OR GRUPO2 = "'" + @G +
EXEC(@CONSULTA)
GO

Lo mismo me pasa para devolver concatenado el nombre y el apellido. No veo
manera de que no me salte error. Sé que el problema son las comillas.


gracias
 

Leer las respuestas

#1 Carlos Sacristan
25/05/2004 - 10:47 | Informe spam
Prueba con:

****************************************************************************
*

CREATE PROCEDURE CONSULTA @GRUPO VARCHAR(50) AS

SELECT NOMBRE + ' ' + APELLIDOS AS cliente FROM CONTRATOS
WHERE GRUPO1= @G OR GRUPO2 = @G

****************************************************************************
*

No es necesario ejecutar dinámicamente la consulta para lo que necesitas


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Jomaweb" escribió en el mensaje
news:
Hola

Tengo esta consulta que si lanzo desde un ASP me funciona perfecta.

SELECT NOMBRE + ' ' + APELLIDOS AS cliente FROM CONTRATOS where GRUPO1'
" & grupo & " ' OR GRUPO2 = ' " & grupo & "'

El problema es que quiero meterlo dentro de un Procedimiento almacenado


que
recibe un parametro VARCHAR (@Grupo) y resulta que no hay dios de armar


la
consulta por las comillas. Tengan en cuenta que el parámetro @grupo puede
llevar espacios y guiones. ¿cómo concateno tanta comilla sin error?

CREATE PROCEDURE CONSULTA @GRUPO VARCHAR(50) AS
DECLARE @CONSULTA VARCHAR(500)
SET @CONSULTA=SELECT NOMBRE + ' ' + APELLIDOS AS cliente FROM CONTRATOS
where GRUPO1="'" + @G + "'" OR GRUPO2 = "'" + @G +
EXEC(@CONSULTA)
GO

Lo mismo me pasa para devolver concatenado el nombre y el apellido. No veo
manera de que no me salte error. Sé que el problema son las comillas.


gracias


Preguntas similares