SQL Server - Concatenar

 
Vista:

Concatenar

Publicado por Ricardo (6 intervenciones) el 15/12/2003 18:05:59
Hola, lo que necesito es poder concatenar el mismo campo en una sola variable, es decir todo el resultado de una consulta sql debe quedar concatenado en la misma variable, si son 20 los resultados encontrados deben quedar en la misma variable, se podra hacer eso, ya que no quiero usar cursores.
esperando ayuda, ricardo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Concatenar

Publicado por Mariano (33 intervenciones) el 16/12/2003 20:57:00
No entiendo bien lo que queres o por que no queres usar un cursor (¿ni siquiera para llenar tu variable?) por que podrias usar el metodo GetRows de ADO que debuelve un variant que es un array de dos dimenciones... array=recordset.getrows(filas,inicio,campos) (todos los parametros son opcionales y campos es un array)
Espero que te sirva de algo, pero usa un objeto recordset de ado...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Concatenar

Publicado por Ricardo (6 intervenciones) el 16/12/2003 22:29:48
mira lo que necesito hacer es que dado un procedimiento almacenado me rescata N filas, esas necesito dejarlas en una sola variable, no se si me entiendes bien, no uso un cursor porque son mas pesados; ejemplo
"select * from tabla ", el resultado que son N filas dejarlas en una sola variable, si son 3 lor registros devueltos necesito que me aparezcan asi

Variable = "Registro1Registro2Registro3"
y eso no se si es posible hacerlo en un procedimiento almacenado, espero me entiendas la preguntas y gracias por la ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Concatenar

Publicado por Carlos Gil (18 intervenciones) el 18/12/2003 18:42:23
Amigo, lei tus preguntas y te respondo que eso es imposible sin un cursor. Entiendo que odies utilizar cursores (yo tambien los odio) pero son un mal a veces necesario. Puedes agilizar la ejecución de un SP agregando indices adecuados a la tabla que utilizas.

Carlos Gil..........PERUANO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Concatenar

Publicado por Mariano (33 intervenciones) el 18/12/2003 21:11:32
Ahora si te entiendo perfectamente. Pero la unica forma en qeu se hacerlo es con un cursor. Pero si en el servidor podes permitirte un cursor en un procedimiento almacenado yo lo haria + o - asi : (ojo este tiene una fallita que te repite el ultimo registro) Lamento no poder ayudar mas...

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO

ALTER PROCEDURE ProcVariable
@ParamSalida varchar(2000) OUTPUT

AS
declare @aux varchar(100)
SET CONCAT_NULL_YIELDS_NULL OFF
declare Cur_sor cursor local scroll
FOR select nombre + apellido + identificador + cast(id_armario as char(2))
from expedientes
where identificador='024200414044860041' or identificador='024200416646310041'
open Cur_sor

WHILE (@@FETCH_STATUS = 0)
BEGIN
FETCH NEXT FROM Cur_sor into @aux

set @ParamSalida=@ParamSalida+@aux

END
close Cur_sor

GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Concatenar

Publicado por ricardo (6 intervenciones) el 18/12/2003 21:16:25
Gracias por la ayuda, la verdad es que me fue de utilidad
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar