Aqui vai um exemplo simples de como usar os dois comandos juntos para inserir dados que estão em outra tabela.
Vamos usar um caso em que tenhamos estas duas tabelas:
Tabela Cliente (TAB_CLI):
ID_CLIENTE
NOME_CLIENTE
TEL_CLIENTE
Tabela Vendas (TAB_VENDA):
ID_VENDA
ID_CLIENTE
PRODUTO
VALOR
Para facilitar na hora de escolher qual cliente efetuou a compra, podemos passar o nome do cliente como parâmetro e inserir seu ID automaticamente.
Fica assim:
insert into TAB_VENDA (ID_VENDA, ID_CLIENTE, PRODUTO, VALOR) VALUES (1, (select ID_CLIENTE from TAB_CLI where NOME_CLIENTE =’JOÃO’), ‘PRODUTO 1′, 10);
No local onde será inserido o valor do cliente coloca-se um select que retornará seu ID pelo nome passado na cláusula where, note que este select funcionará se não houver em registros duplicados, se existirem dois clientes com o nome ‘João’ você poderá adicionar a venda para outro cliente com o mesmo nome. Para corrigir este problema você poderá passar outro parâmetro junto ao nome, que não tenha duplicação, como por exemplo, o RG ou CPF do mesmo.
Obs.: O mesmo comando rodou sem problemas no PSQL.
Abraços até a próxima.
0 comentários:
Postar um comentário