Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   como puedo hacer un select de una tabla e introducirlo en otra existente (https://www.clubdelphi.com/foros/showthread.php?t=34878)

lynu 24-08-2006 14:06:53

como puedo hacer un select de una tabla e introducirlo en otra existente
 
hola a todos, a ver esta como me ayudan :D

bueno tengo una tabla la cual debe llenarse con un select hecho de otra tabla, pero que tambien se le debe ingresar una variable conjunto con ese select.

espero me entiendan, a ver si me ayudan :D

ContraVeneno 24-08-2006 15:32:36

Código SQL [-]
Select campos
into TablaDestino
From TablaOrigen
where ...

roman 24-08-2006 16:32:07

Creo que más bien sería:

Código SQL [-]
insert into TablaDestino
select campos
from TablaOrigen
where ...

// Saludos

ContraVeneno 24-08-2006 16:58:00

La instrucción que puse funciona en SQL Server ;) y como lynu no menciona en que base de datos esta trabajando... pues... :D

ilichhernandez 24-08-2006 18:24:38

Insert into tabla select * from tabla2 where x=y

me parece que de esta forma tambien sirve...

sorry.... no me fije que roman ya habia puesto esto mismo....

bismarck_sierra 24-08-2006 20:49:26

Que tal

Según te entendí, para incluir una variable en la sentencia, si estas en una consola de SQL sería así:

Código SQL [-]
INSERT INTO tabla_destino (campo1, campo2, campo3, campox)
SELECT campo1d, 'valor', campo2d,  campo3d FROM tabla_origen WHERE x = y;

Si estas en Delphi

Armas tu sentencia y la ejecutas

Código Delphi [-]
sSentencia:= 'INSERT INTO tabla_destino (campo1, campo2, campo3, campox) SELECT campo1d, ' + QuotedStr(sVariable) + ', campo2d, campo3d FROM tabla_origen WHERE x = y';

Query.SQL.Clear;
Query.SQL.Add(sSentencia);
Query.ExecSQL;

Los ejemplos anteriores es si el tipo de dato es cadena.


Igual puedes utilizar parámetros

Código Delphi [-]
Query.SQL.Clear;
Query.SQL.Add('INSERT INTO tabla_destino (campo1, campo2, campo3, campox) SELECT campo1d, :variable, campo2d, campo3d FROM tabla_origen WHERE x = y');
Query.Params[0].AsString:= 'valor';
Query.ExecSQL;

Saludos
Bismarck


La franja horaria es GMT +2. Ahora son las 16:39:25.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi