Insertar resultado de una consulta (tabla1) en un campo text o varchar de otra tabla2

06/03/2004 - 00:51 por Raúl Martín | Informe spam
Desearía insertar el resultado de una consulta (los datos) dentro de un
campo de otra tabla y ya de paso que me recomendeis que tipo de campo me
vendría mejor, osea que no reserve espacio limitado para esos datos y que no
me recorte la información que inserto. algo así como un Memo en Access.

Algo así pero no se como hacerlo exactamente

INSERT INTO [HISTORICO]
( [Usuario], [Fecha],[TipoOperacion],[COMENTARIO] )
VALUES(
1,
convert(datetime,GETDATE(),105), 'insertando expediente',
(SELECT * FROM TCLIENTES WHERE IDCLIENTE='470'
SELECT * FROM TEXPED WHERE IDEXPE = '04M009'))

los datos de las select quisiera insertarlos en el campo Comentario para
mantener un historico de operaciones
 

Leer las respuestas

#1 Raúl Martín
06/03/2004 - 02:42 | Informe spam
Tras darle vueltas lo que he tratado de hacer es algo asi
CREATE FUNCTION concatena ( @idcli int)
RETURNS varchar(4000)
as
begin
declare @result varchar(4000)
set @result = ''
select @result = @result + + case when len(@result)>0 then ' ' else ''
end + Idcliente + Nombre + Telefono + Comentarios
from TCLIENTES
where idcliente = @idcli
return ltrim(@result)
end

el problema es que cuando concateno los campos si no son de texto me da mil
errores, por ejemplo:
las fechas me dice que las convierta con convert pero con que atributo lo
paso a cadena?
y con str trato de hacerselo a los numeros pero con los campos float me da
error de conversión en ejecución.

pufff, allguna idea de pasar el texto plano a un campo mas sencilla que
esta?

Preguntas similares