Insertar resultado de un select

rockxell
12 de Julio del 2009
Buenas:

Como explique en el titulo, necesito hacer una query que inserte el resultado de un select.

es decir:

insert into tabla destino values(
select campo_1 from tabla tabla_origen
);

El problema es que el SELECT retornara mas de una fila, de echo son N filas(podria ser desde 0 a n), y para empeorar necesito que sean insertadas todas en solo una query, no puedo usar PL/SQL.

es una BD oracle 9.

Espero me puedan dar una mano.

DJLopezV
12 de Julio del 2009
Saludos... la instruccion excata es insert into table_name select field1, field2, .., fieldn from table_name_origen. Si tu query retorna mas de un valor, cada uno de esas filas o tuplas se insertan en la tabla definida en el insert. Debe tener en cuenta que la cantidad de columnas y los tipos de datos del select deben corresponder con la cantidad de columnas de la tabla donde quiere hacer la insercion al igual que el mismo tipo de dato. Exitos