PostgreSQL - Insert into tabla

 
Vista:

Insert into tabla

Publicado por Miguel Arias (2 intervenciones) el 16/11/2006 15:18:46
Estoy haciendo el siguiente comando:
insert into tabla2 select nombre,sueldo,apellido,fechaingreso,direccion,telefono from tabla1.
Lo que me sucede es que la tabla 2 esta creada de la siguiente manera:

nombre varchar
apellido varchar
direccion varchar
telefono number
sueldo number
fechaingreso date

cuando hago el insert me da el error porque los campos en el select deben estar ordenados como se crearon en la tabla2,

¿Esto es asi? es decir tengo que ordenar el select tal y como se creo la tabla 2 es mas no le para al nombre del campo sino a como esta ordenados.

Gracias

Miguel
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:Insert into tabla

Publicado por Julio (334 intervenciones) el 19/11/2006 00:52:14
Haciendo una analogia:

Puedes poner una tuerca con rosca redonda a una huacha de tipo cuadrada?

La rpta es....?

Los tipos de datos que debes enviarle en un Insert Into Select deben ser del mismo tipo que los campos de la tabla afectada.

Suerte
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:Insert into tabla

Publicado por Miguel Arias (2 intervenciones) el 20/11/2006 13:26:53
Esa pregunta la decia porque en otras BD (Oracle, Access, la nativa de VF, etc) lo que importa en el insert es el nombre del campo (Que sea el mismo de la tabla a insertar y el mismo tipo) no como este en el orden cuando se creo la tabla. Es decir, si tengo una tabla llamada beneficiarios y otra solicitante

beneficiarios: nombre, apellido,direccion,monto prestamo
solicitantes: Apellido,nombre,monto_prestamo,direccion

select insert into beneficiarios select apellido, nombre,monto_prestamo, direccion from solicitantes

otras bd hacen el insert tranquilamente y postgres no.

Eso no es poner una rosca redonda en una huacha tipo cuadrada. Es una pregunta solamente que la hago ya que tenia ese tipo de insert con varios campos en otra BD, y lo estoy pasando a postgres y me da error
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:Insert into tabla

Publicado por Julio (334 intervenciones) el 30/11/2006 19:39:57
Entonces has bien la pregunta, o mejor dicho, detalla bien, porque tu escribiste lo siguiente:

"....... Estoy haciendo el siguiente comando:
insert into tabla2 select nombre,sueldo,apellido,fechaingreso,direccion,telefono from tabla1.
Lo que me sucede es que la tabla 2 esta creada de la siguiente manera:

nombre varchar
apellido varchar
direccion varchar
telefono number
sueldo number
fechaingreso date

cuando hago el insert me da el error porque los campos en el select deben estar ordenados como se crearon en la tabla2,
........."

Según yo veía, tu tenias una tabla con una estructura así

varchar,
varchar,
varchar,
number,
number,
date

Y querias pasar en tu select:

insert into tabla2
select nombre,sueldo,apellido,fechaingreso,direccion,telefono from tabla1.

ASÍ:

select varchar, number, varchar, date, varchar, varchar

lo que traduciendo, y según el motor de DB:

Tabla original Datos que intentas insertar

varchar..................varchar
varchar..................number
varchar..................varchar
number.................date
number.................varchar
date........................varchar

OBVIAMENTE TE VA A BOTAR ERROR; a menos que arregles tu query

insert into tabla2
select nombre, apellido, direccion, telefono, sueldo, date from tabla1

QUEDO CLARO?
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