Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

concatenar dentro de un SP con comillas

1,591 views
Skip to first unread message

Jomaweb

unread,
May 25, 2004, 4:40:59 AM5/25/04
to
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


Carlos Sacristan

unread,
May 25, 2004, 4:47:36 AM5/25/04
to

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" <bro...@nosmpam.teleline.es> escribió en el mensaje
news:Owy2CQjQ...@TK2MSFTNGP12.phx.gbl...

Jomaweb

unread,
May 25, 2004, 8:27:21 AM5/25/04
to
Esto ya lo probé y no funciona porque como ya comenté el grupo incluye
espacios y guiones.

Debo de poder concatenar comillas.

Por ejemplo, cuando grupo es "madrid - sector centro", sino lo concateno me
da error en el guión.

"Carlos Sacristan" <csacristan ARROBA mvps.org> escribió en el mensaje
news:%23%23zJZTjQ...@TK2MSFTNGP12.phx.gbl...

Carlos Sacristan

unread,
May 25, 2004, 8:52:54 AM5/25/04
to

Pero eso será por cómo llamas al procedimiento almacenado. Si quieres
que el valor de los parámetros contengan comilla simple tienes que hacerlo
así:

EXEC consulta '''madrid-centro'''
--
--
--

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" <bro...@nosmpam.teleline.es> escribió en el mensaje

news:OM1xiOlQ...@TK2MSFTNGP09.phx.gbl...

Jomaweb

unread,
May 25, 2004, 9:12:22 AM5/25/04
to
Tampoco, el problema es al concatenar dentro del SP.

ulises

unread,
May 25, 2004, 9:26:07 AM5/25/04
to
No veo porque el error, ejecutando lo siguiente :

1) Creando la tabla y poblando de datos

create table contratos ( nombre varchar(30),
apellidos varchar(30),
grupo1 varchar(30),
grupo2 varchar(30) )
go
insert into contratos
select 'NOMBREA', 'APELLIDOA' ,'MADRID - GRUPO
CENTRO', 'OTRO'
insert into contratos
select 'NOMBREB', 'APELLIDOB' ,'OTRO', 'MADRID - GRUPO
CENTRO'
go

2) creando el ´procedimiento almacenado :

CREATE PROCEDURE CONSULTA @GRUPO VARCHAR(50)
AS
SELECT NOMBRE + ' ' + APELLIDOS AS cliente FROM CONTRATOS

WHERE GRUPO1= @GRUPO OR GRUPO2 = @GRUPO

3) ejecutandolo

exec consulta 'madrid - grupo centro'

te obtiene el resultado que deseas :

cliente
--------------------
NOMBREA APELLIDOA
NOMBREB APELLIDOB

(2 row(s) affected)

no veo que el guion afecte para nada la consulta, lo que
veo en la consulta que has enviando es que no has
terminado de encerrar la comilla ni definir la variable
@g, lo que tienes definido es la variable @grupo, no sé si
eso es el problema o has enviando un extracto de tu
consulta.

Saludos,
Ulises

>-----Mensaje original-----

0 new messages