Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Error al insertar datos de otra tabla

Estas en el tema de Error al insertar datos de otra tabla en el foro de PostgreSQL en Foros del Web. Saludos Estoy intentado pasar unos datos de una tabla A a una tabla B, de manera que: Código: insert into .salud_11 (id, codreg, codest, codmun, ...
  #1 (permalink)  
Antiguo 07/04/2008, 08:43
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 19 años, 2 meses
Puntos: 7
Error al insertar datos de otra tabla

Saludos

Estoy intentado pasar unos datos de una tabla A a una tabla B, de manera que:
Código:
insert into .salud_11 (id, codreg, codest, codmun, codpar, codcen, agno, nro_nac_vivos_v, nro_nac_vivos_h, total_nac, fregistro) 
select (id, codreg, codest, codmun, codpar, codcen, agno, 
nro_nac_vivos_v, nro_nac_vivos_h, total_nac, fregistro) 
from salud_01
donde la estructura, para ambas tablas, es:
Código:
\d salud_01
                                               Tabla «sir.salud_01»
           Columna            |            Tipo             |                     Modificadores
------------------------------+-----------------------------+-------------------------------------------------------
 id                           | integer                     | not null default nextval('salud_01_id_seq'::regclass)
 codreg                       | character varying(2)        | not null
 codest                       | character varying(2)        | not null
 codmun                       | character varying(2)        | not null
 codpar                       | character varying(2)        | not null
 codcen                       | character varying(3)        |
 agno                         | date                        | not null
 nro_nac_vivos_v              | integer                     |
 nro_nac_vivos_h              | integer                     |
 fregistro                    | timestamp without time zone | not null default 
total_nac                    | numeric                     |
now()
pero obtengo:
ERROR: la columna «id» es de tipo integer pero la expresión es de tipo record
HINT: Necesitará reescribir la expresión o aplicarle una conversión de tipo.

Sólo que estoy liado con eso...

Ideas?
__________________
Gracias de todas todas
-----
Linux!
  #2 (permalink)  
Antiguo 07/04/2008, 09:16
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 9 meses
Puntos: 13
Re: Error al insertar datos de otra tabla

que de tiempo cacr!

Prueba:
insert into salud_11 (id, codreg, codest, codmun, codpar, codcen, agno, nro_nac_vivos_v, nro_nac_vivos_h, total_nac, fregistro)
select id, codreg, codest, codmun, codpar, codcen, agno,
nro_nac_vivos_v, nro_nac_vivos_h, total_nac, fregistro
from salud_01

Sin parentesis en el select.

salu2
  #3 (permalink)  
Antiguo 07/04/2008, 09:39
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 19 años, 2 meses
Puntos: 7
Re: Error al insertar datos de otra tabla

Cierto, he estado más o menos bastante entretenido, programando mis cosas, las de otros, dictando cursos (como sí yo supiera mucho) tratando de aprender para que sirve el puerto iLO2 de un servidor HP, migrando de W$ a Linux, de soportista... o sea... de todo!!! y bueno... ya empiezo a extrañar los foros y el irc, jeje

Gracias amigo seyko! por ahí fue el asunto... ¿sabes de qué se trataba el asunto?
__________________
Gracias de todas todas
-----
Linux!
  #4 (permalink)  
Antiguo 07/04/2008, 10:22
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 9 meses
Puntos: 13
Re: Error al insertar datos de otra tabla

Te veo liado!!!!!

El tema viene que si varios campos los metes entre parentesis se los toma como un RECORD.

DECLARE
RECORD_DATOS RECORD;
BEGIN
select (id, nombre, direccion) into RECORD_DATOS
from ....
[...]

Aunque para esto en realidad no hacen falta los parentesis, si se los pones siempre lo considera un RECORD asi.
El ejemplo de antes era dentro de una función, fuera, en una select normal, podrias hacer algo asi:

select (id, fecha) as columna_1, (nombre, direccion) as columna_2
from .....

La columna_1 es un RECORD con los campos id, fecha, la columna_2 es un record con el nombre y la dirección.

salu2
  #5 (permalink)  
Antiguo 08/04/2008, 12:59
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 19 años, 2 meses
Puntos: 7
Re: Error al insertar datos de otra tabla

ooookidoki

Gracias viejo!
__________________
Gracias de todas todas
-----
Linux!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:15.