Union de cadenas varchar y pasarlas a Text

29/05/2007 - 00:57 por Maguirrepor | Informe spam
Amigos:

Podrian orientarme en el problema que tengo?. Tengo los comentarios de
varias citas que se almacenaron en cada registro en campos varchar(255), son
bastantes registros y requiero recorrerlos y concatenarlos a estos campos
varchar(255) y almacenarlos en un campo text como un aspecto consolidado o
unido.

Espero su gentil comentario
Marcelo Aguirre

Preguntas similare

Leer las respuestas

#1 Francizk0
29/05/2007 - 01:06 | Informe spam
Haber si esto te sirve me parece la respuesta mas simple

SELECT CAST( 'Cadena 0 ' + 'Cadena 0 ' + 'Cadena 0 ' AS TEXT) AS
CampoConvertido FROM Parametro

Claro q tu lo harias con un cursor o un bucle dependiendo de donde
haces la consulta en el SQL o en el Leng. Prog.

Francisco Fernandez
Respuesta Responder a este mensaje
#2 Maguirrepor
29/05/2007 - 01:19 | Informe spam
Gracias por el Consejo, esoy tratando de hacer en un procedimiento almacenado
yluego grabar en un campo text. Si utilizare un bucle, podrias orientarme
como declarar la variable que concatenara las cadenasy como grabaria en la
tabla?
Marcelo Aguirre


"Francizk0" wrote:

Haber si esto te sirve me parece la respuesta mas simple

SELECT CAST( 'Cadena 0 ' + 'Cadena 0 ' + 'Cadena 0 ' AS TEXT) AS
CampoConvertido FROM Parametro

Claro q tu lo harias con un cursor o un bucle dependiendo de donde
haces la consulta en el SQL o en el Leng. Prog.

Francisco Fernandez



Respuesta Responder a este mensaje
#3 Jesús López
29/05/2007 - 11:32 | Informe spam
¿Es SQL Server 2000 ó 2005?

Lo pregunto porque si es SQL 2005 hay una manera fácil y eficiente de
hacerlo usando XML, pero en SQL 2000 es complicado y poco eficiente, tanto
que sería preferible que lo hiciera un programa externo.

Saludos:

Jesús López
www.solidq.com



"Maguirrepor" escribió en el mensaje
news:
Gracias por el Consejo, esoy tratando de hacer en un procedimiento
almacenado
yluego grabar en un campo text. Si utilizare un bucle, podrias orientarme
como declarar la variable que concatenara las cadenasy como grabaria en la
tabla?
Marcelo Aguirre


"Francizk0" wrote:

Haber si esto te sirve me parece la respuesta mas simple

SELECT CAST( 'Cadena 0 ' + 'Cadena 0 ' + 'Cadena 0 ' AS TEXT) AS
CampoConvertido FROM Parametro

Claro q tu lo harias con un cursor o un bucle dependiendo de donde
haces la consulta en el SQL o en el Leng. Prog.

Francisco Fernandez



Respuesta Responder a este mensaje
#4 Maguirrepor
29/05/2007 - 16:26 | Informe spam
La conversion debe ser realizada en sqlserver2000
Marcelo Aguirre


"Jesús López" wrote:

¿Es SQL Server 2000 ó 2005?

Lo pregunto porque si es SQL 2005 hay una manera fácil y eficiente de
hacerlo usando XML, pero en SQL 2000 es complicado y poco eficiente, tanto
que sería preferible que lo hiciera un programa externo.

Saludos:

Jesús López
www.solidq.com



"Maguirrepor" escribió en el mensaje
news:
> Gracias por el Consejo, esoy tratando de hacer en un procedimiento
> almacenado
> yluego grabar en un campo text. Si utilizare un bucle, podrias orientarme
> como declarar la variable que concatenara las cadenasy como grabaria en la
> tabla?
> Marcelo Aguirre
>
>
> "Francizk0" wrote:
>
>> Haber si esto te sirve me parece la respuesta mas simple
>>
>> SELECT CAST( 'Cadena 0 ' + 'Cadena 0 ' + 'Cadena 0 ' AS TEXT) AS
>> CampoConvertido FROM Parametro
>>
>> Claro q tu lo harias con un cursor o un bucle dependiendo de donde
>> haces la consulta en el SQL o en el Leng. Prog.
>>
>> Francisco Fernandez
>>
>>
>>



Respuesta Responder a este mensaje
#5 Jesús López
29/05/2007 - 17:13 | Informe spam
Aquí tienes un ejemplo de como se haría en SQL Server 2000.

Tenemos dos tablas la tabla Principal y la tabla Comentarios. La tabla
Principal es donde vamos a consolidar los comentarios que están en la tabla
Comentarios


CREATE TABLE Principal
(
IdPrincipal int IDENTITY(1,1) PRIMARY KEY,
Campo1 varchar(50),
Comentarios text
)

INSERT INTO Principal(Campo1) VALUES ('algo')

CREATE TABLE Comentarios
(
IdComentario int IDENTITY(1,1) PRIMARY KEY,
IdPrincipal int REFERENCES Principal(IdPrincipal),
Comentario varchar(255)
)

INSERT INTO Comentarios VALUES (1, 'Comentario 1')
INSERT INTO Comentarios VALUES (1, 'Comentario 2')
INSERT INTO Comentarios VALUES (1, 'Comentario 3')
INSERT INTO Comentarios VALUES (1, NULL)
INSERT INTO Comentarios VALUES (1, 'Comentario 4')


GO


ALTER PROCEDURE ConsolidarComentarios
@IdPrincipal int
AS

SET NOCOUNT ON

UPDATE Principal
SET Comentarios = NULL
WHERE IdPrincipal = @IdPrincipal

IF @@ROWCOUNT = 0
BEGIN
RAISERROR('Principal no encontrado', 16, -1, -1)
RETURN
END

DECLARE @text_ptr varbinary(16)
SELECT @text_ptr = TEXTPTR(Comentarios)
FROM Principal
WHERE IdPrincipal = @IdPrincipal
DECLARE cComentarios CURSOR FAST_FORWARD
FOR SELECT Comentario + ' ' AS Comentario
FROM Comentarios
WHERE IdPrincipal = @IdPrincipal
ORDER BY IdComentario

DECLARE @Comentario varchar(255)
OPEN cComentarios
FETCH cComentarios INTO @Comentario
WHILE @@FETCH_STATUS = 0
BEGIN
UPDATETEXT Principal.Comentarios @text_ptr NULL 0 @Comentario
FETCH cComentarios INTO @Comentario
END
CLOSE cComentarios
DEALLOCATE cComentarios

GO

EXEC ConsolidarComentarios 1
SELECT * FROM Principal


"Maguirrepor" escribió en el mensaje
news:
La conversion debe ser realizada en sqlserver2000
Marcelo Aguirre


"Jesús López" wrote:

¿Es SQL Server 2000 ó 2005?

Lo pregunto porque si es SQL 2005 hay una manera fácil y eficiente de
hacerlo usando XML, pero en SQL 2000 es complicado y poco eficiente,
tanto
que sería preferible que lo hiciera un programa externo.

Saludos:

Jesús López
www.solidq.com



"Maguirrepor" escribió en el
mensaje
news:
> Gracias por el Consejo, esoy tratando de hacer en un procedimiento
> almacenado
> yluego grabar en un campo text. Si utilizare un bucle, podrias
> orientarme
> como declarar la variable que concatenara las cadenasy como grabaria en
> la
> tabla?
> Marcelo Aguirre
>
>
> "Francizk0" wrote:
>
>> Haber si esto te sirve me parece la respuesta mas simple
>>
>> SELECT CAST( 'Cadena 0 ' + 'Cadena 0 ' + 'Cadena 0 ' AS TEXT) AS
>> CampoConvertido FROM Parametro
>>
>> Claro q tu lo harias con un cursor o un bucle dependiendo de donde
>> haces la consulta en el SQL o en el Leng. Prog.
>>
>> Francisco Fernandez
>>
>>
>>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida