Oi, Daniel! Como vai?
No Oracle SQL, diferente de alguns outros bancos de dados como o MySQL e PostgreSQL, não é possível inserir múltiplos registros de uma vez utilizando um único INSERT INTO
com múltiplos VALUES
separados por vírgula.
Para inserir múltiplos registros de forma prática, você pode usar a estrutura INSERT ALL
, que permite adicionar vários registros de uma vez. Veja um exemplo correto para sua situação:
INSERT ALL
INTO tb_vendedores (matricula, nome, data_admissao, percentual_comissao)
VALUES ('00265', 'Jhon Wayne', TO_DATE('27/03/2019', 'MM/DD/YYYY'), 0.12)
INTO tb_vendedores (matricula, nome, data_admissao, percentual_comissao)
VALUES ('00777', 'Katy Peterson', TO_DATE('04/02/2020', 'MM/DD/YYYY'), 0.10)
INTO tb_vendedores (matricula, nome, data_admissao, percentual_comissao)
VALUES ('00342', 'Rodrigo Almeida', TO_DATE('18/01/2022', 'DD/MM/YYYY'), 0.09)
INTO tb_vendedores (matricula, nome, data_admissao, percentual_comissao)
VALUES ('00729', 'Patricia Martins', TO_DATE('02/01/2022', 'DD/MM/YYYY'), 0.09)
SELECT * FROM dual;
- O
INSERT ALL
permite inserir vários registros ao mesmo tempo. - Cada
INTO tb_vendedores (...) VALUES (...)
representa um novo registro na tabela. SELECT * FROM dual;
é necessário para finalizar a operação no Oracle. - Certifique-se de que os formatos de data estão corretos. No seu exemplo, há uma mistura entre
'MM/DD/YYYY'
e 'DD/MM/YYYY'
.
Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado