› Fóruns › SQL e PL/SQL › INSERT ALL | INSERT FIRST › INSERT ALL | INSERT FIRST
Burga, muito obrigado pela resposta. Porém ainda não consegui entender na prática. O que eu havia entendido era exatamente o que você disse, quando retornar TRUE para uma condição ele iria parar de verificar as seguintes.
Porem eu rodei algo semelhante com o que você passou:
insert first
when employee_id < 150 then
into tabela01 values (employee_id, salary, manager_id)
when employee_id < 200 then
into tabela02 values (employee_id, salary, manager_id)
else
into tabela03 values (employee_id, salary, manager_id)
select employee_id, salary, manager_id, department_id from employees;
Nesse caso o que eu imaginei que faria era que assim que ele verificasse a primeira condição ( < 150) ele iria encontrar registros. Encontrando seria TRUE, então iria inserir apenas na tabela01 e não iria nem verificar as seguintes.
Porem quando executo o que ocorre é que insere nas 3 tabelas. Tabela01 recebe os ID de 1 a 149, Tabela02 recebe os ID de 150 a 199, e Tabela03 recebe os ID de 200 pra frente…
Então não é igual ao INSERT ALL?