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

como trabajar con cadenas en procedimiento almacenado

Estas en el tema de como trabajar con cadenas en procedimiento almacenado en el foro de SQL Server en Foros del Web. hola, tengo un procedimiento almacenado al cual envio un parameto @Nombre (nvarchar), y envio esta cadena 'juan','nacho','pedro, ...' esta misma puede variar 'juan','pedro' y no ...
  #1 (permalink)  
Antiguo 20/01/2009, 08:37
 
Fecha de Ingreso: junio-2007
Mensajes: 1
Antigüedad: 16 años, 11 meses
Puntos: 0
como trabajar con cadenas en procedimiento almacenado

hola, tengo un procedimiento almacenado al cual envio un parameto @Nombre (nvarchar), y envio esta cadena 'juan','nacho','pedro, ...' esta misma puede variar 'juan','pedro' y no devuelde ningun resultado en ninguno de los 2 casos, solo devuelve resultado cuando envio un nombre 'Juan' si envio varios no funciona, la consulta es:


SELECT c.nombre, t.telefonos FROM Clientes c JOIN telefonos t ON ov.id = c.id
WHERE c.nombre IN (@Nombre)

si envio 'juan', 'pedro' el resultado deberia ser:

nombre telefono
--------------------------------------
juan 72586025
juan 78548255
pedro 25456324

agradesco su ayuda de antemano.
  #2 (permalink)  
Antiguo 20/01/2009, 14:10
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: como trabajar con cadenas en procedimiento almacenado

Este tema ya se trato en el foro, busca por ARREGLOS o ARRAY
  #3 (permalink)  
Antiguo 21/01/2009, 18:10
Avatar de michael_045  
Fecha de Ingreso: enero-2009
Mensajes: 13
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: como trabajar con cadenas en procedimiento almacenado

k ondas mi buen, una posible solucion es hacer un query dinamico, es decir, hacer lo siguiente
declare @cadSql varchar(1024)
set @cadSql = "SELECT c.nombre, t.telefonos FROM Clientes c JOIN telefonos t ON ov.id = c.id WHERE c.nombre IN (" + @Nombre + ") "
exec (@cadSql )

Espero te ayude con tu problema.

Salu2.
  #4 (permalink)  
Antiguo 21/01/2009, 20:34
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: como trabajar con cadenas en procedimiento almacenado

exec (@cadSql )

Esto puede substituirse por:

SP_EXECUTESQL @cadSql

Observacion: @cadSql, debe ser de tipo NVARCHAR

Ademas, lo que nuestro amigo Florenz busca el manejo de ARRAY o ARREGLOS en SQL Server, como paso de parametros, estos se pueden hacer mediante XML, aqui dejo una liga:

http://www.sommarskog.se/arrays-in-sql-2000.html

Saludos
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 14:34.