sql – insira em várias tabelas em uma consulta

assumindo que eu tenho duas tabelas, names e phones e eu quero inserir dados de alguma input para as tabelas, em uma consulta, como pode ser feito?

Por favor, se isso puder ser feito, explique a syntax.

O MySQL não suporta inserção de múltiplas tabelas em uma única instrução INSERT . O Oracle é o único que eu conheço que faz, estranhamente …

 INSERT INTO NAMES VALUES(...) INSERT INTO PHONES VALUES(...) 

Você não pode. No entanto, você PODE usar uma transação e ter ambas contidas em uma transação.

 START TRANSACTION; INSERT INTO table1 VALUES ('1','2','3'); INSERT INTO table2 VALUES ('bob','smith'); COMMIT; 

http://dev.mysql.com/doc/refman/5.1/en/commit.html

Eu tive o mesmo problema. Eu resolvo com um loop for.

Exemplo:

Se eu quiser escrever em 2 tabelas idênticas , usando um loop

 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 

ou

 ArrTable = ("Table1", "Table2") for xArrTable = 0 to Ubound(ArrTable) Sql = "INSERT INTO " & ArrTable(xArrTable) & " VALUES ('1','2','3')" NEXT 

Se você tiver uma consulta pequena, não sei se essa é a melhor solução, mas se sua consulta for muito grande e estiver dentro de um script dynamic com condições if / else / case, essa é uma boa solução.

    Intereting Posts