INSERT COM SELECT?
Boa tarde galera!
Tem como fazer algo do tipo;
Tem como fazer algo do tipo;
INSERT INTO 'dajdba'.'funcionario' ('IdEmpresa') VALUES (SELECT Id FROM contato Where Id=1);
E se eu precisar colocar mais colunas dps do Select?
Se a intenção é preencher as colunas do Insert, qual é a necessidade de pegar outras colunas? O importante é que o número dos campos que você retorne e os tipos do mesmo tenham correspondência com os campos que você especificar no insert.
por exemplo; tenho uma tabela
Id Nome / Cliente
e
Id IdCliente Contato / Contato
Quero inserir um cliente e inserir um contato com o Id do cliente que foi inserido
Id Nome / Cliente
e
Id IdCliente Contato / Contato
Quero inserir um cliente e inserir um contato com o Id do cliente que foi inserido
1- Você inseri o cliente e captura a id na hora da inserção. Se você estiver usando o SQLServer, você pode fazer assim:
docs.microsoft.com/en-us/sql/t-sql/functions/scope-identity-transact-sql
2- Depois, na hora de inserir o contato, você passa essa id para o campo idCliente.
INSERT INTO tabela (campos) VALUES([ô]valores[ô]); SELECT SCOPE_IDENTITY()
docs.microsoft.com/en-us/sql/t-sql/functions/scope-identity-transact-sql
2- Depois, na hora de inserir o contato, você passa essa id para o campo idCliente.
Então, más não tem como fazer isso tudo na mesma query?
Acredito que não! São duas inserções diferentes.
Tópico encerrado , respostas não são mais permitidas