SQL - doble INSERT INTO en una sentencia SQL

 
Vista:

doble INSERT INTO en una sentencia SQL

Publicado por Andres (11 intervenciones) el 09/06/2004 21:30:31
Hola foro:
He buscado la forma de insetar un solo registro en dos tablas distintas pero con una sola sentencia.. supongamos que tengo estas dos sentencias SQL:

INSERT INTO T_produccion (FECHA,TURNO, PRENSA, CVE_AREA, MOLDE, CVE_OPER, TIEMPO_MUERTO, CVE_CAUSA, PRODUCCION,COMENTARIOS) VALUES ('6/9/2004 7:21:04 AM','1', '1','9','3003','0585','0','','8000','' )

INSERT INTO T_resultados(TURNO,FECHA, CVE_OPERADOR,EFICIENCIA, PRODUCTIVIDAD) VALUES ('1','06/09/2004','1909','76','67')
Lo que quiero es que me inserte eso en una sola sentencia porque de lo contrario si las pongo separadas puede que una si la inserte y la otra no, y eso me arrojaria errores al momento de hacer mis graficas.. las validaciones las hago pero saben que todo puede suceder, es para tener mayor seguridad de que si no inserta una no inserte la otra..
Espero puedan ayudarme con ese pequeño problemita..
hasta pronto y desde ya muchas gracias!!
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:doble INSERT INTO en una sentencia SQL

Publicado por Carlos Gil (43 intervenciones) el 10/06/2004 16:48:47
Lo que tienes que hacer es: (dentro de un sp, por ejm)

BEGIN TRANSACTION
INSERT INTO T_produccion (FECHA,TURNO, PRENSA, CVE_AREA, MOLDE, CVE_OPER, TIEMPO_MUERTO, CVE_CAUSA, PRODUCCION,COMENTARIOS) VALUES ('6/9/2004 7:21:04 AM','1', '1','9','3003','0585','0','','8000','' )

Select @error01 = @@error

INSERT INTO T_resultados(TURNO,FECHA, CVE_OPERADOR,EFICIENCIA, PRODUCTIVIDAD) VALUES ('1','06/09/2004','1909','76','67')

Select @error02 = @@error

IF @error01 = 0 AND @error02 = 0
COMMIT TRANSACTION
ELSE
ROLLBACK TRANSACTION.

Otra forma es que hagas un trigger en la tabla en donde insertas en primer lugar los datos. En este trigger colocas la sentencia que te permita insertar la fila en la segunda tabla. De esta forma solo se insertara un registro en la segunda tabla si existe la primera.

Saludos, comenta tus resultados.
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:doble INSERT INTO en una sentencia SQL

Publicado por Normita (1 intervención) el 20/05/2005 18:25:08
Muchas gracias carlos, tu codigo me fue de mucha utilidad
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