una - select sql ejemplos
sql-insertar en varias tablas en una consulta (3)
MySQL no admite la inserción de varias tablas en una sola instrucción INSERT . Oracle es el único que yo sé que hace, extrañamente ...
INSERT INTO NAMES VALUES(...)
INSERT INTO PHONES VALUES(...)
Suponiendo que tengo dos tablas, names
y phones
y quiero insertar datos de algunas entradas a las tablas, en una consulta: ¿cómo se puede hacer?
Por favor, si se puede hacer, explica la sintaxis.
No puedes. Sin embargo, PUEDE usar una transacción y tener ambos contenidos dentro de una transacción.
START TRANSACTION;
INSERT INTO table1 VALUES (''1'',''2'',''3'');
INSERT INTO table2 VALUES (''bob'',''smith'');
COMMIT;
Yo tuve el mismo problema. Lo resuelvo con un bucle for.
Ejemplo:
Si quiero escribir en 2 tablas idénticas , usando un bucle
for x = 0 to 1
if x = 0 then TableToWrite = "Table1"
if x = 1 then TableToWrite = "Table2"
Sql = "INSERT INTO " & TableToWrite & " VALUES (''1'',''2'',''3'')"
NEXT
ya sea
ArrTable = ("Table1", "Table2")
for xArrTable = 0 to Ubound(ArrTable)
Sql = "INSERT INTO " & ArrTable(xArrTable) & " VALUES (''1'',''2'',''3'')"
NEXT
Si tiene una pequeña consulta, no sé si esta es la mejor solución, pero si su consulta es muy grande y está dentro de un script dinámico con condiciones if / else / case, esta es una buena solución.