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

Insertar en dos tablas en Oracle 10

Estas en el tema de Insertar en dos tablas en Oracle 10 en el foro de Bases de Datos General en Foros del Web. Hola, Estoy trabajando en Oracle 10 y necesito insertar en dos tablas en una misma sentencia SQL. Tengo dos tablas: Persona y Trabajo. La clave ...
  #1 (permalink)  
Antiguo 01/04/2011, 06:50
 
Fecha de Ingreso: septiembre-2008
Mensajes: 137
Antigüedad: 16 años, 2 meses
Puntos: 0
Insertar en dos tablas en Oracle 10

Hola,

Estoy trabajando en Oracle 10 y necesito insertar en dos tablas en una misma sentencia SQL.

Tengo dos tablas: Persona y Trabajo.

La clave primaria de la tabla Persona es igual a la clave primaria de la tabla Trabajo.

Lo que quiero, es insertar primero en la tabla Persona y luego coger la clave primaria que acabo de generar en Persona, insertarla en la tabla Trabajo.

Alguien me puede indicar como puedo hacer esto en una sentencia SQL?

Muchas gracias y saludos
  #2 (permalink)  
Antiguo 04/04/2011, 22:10
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 21 años, 3 meses
Puntos: 105
Respuesta: Insertar en dos tablas en Oracle 10

Holas, podrias usar la sintaxis del INSERT FIRST o INSERT ALL, por ejemplo:

Cita:
INSERT FIRST
WHEN IdP > 0 THEN
INSERT trabajo (IdTrabajo,IdPersona,camp1, camp2)
VALUES (MAX(IdTrabajo)+1,IdP,'algun_valor1','algun_valor2 ')

SELECT MAX(IdPersona)+1 AS IdP, 'valor1' AS v1, 'valor2' AS v2
FROM persona;
Saludos
Gildus
__________________
.: Gildus :.

Etiquetas: oracle, tablas, bases-de-datos
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:56.