Jump to content

mtemporim

Members
  • Content count

    1
  • Joined

  • Last visited

Community Reputation

0 Comum

About mtemporim

  • Birthday 02/07/1980

Informações Pessoais

  • Sexo
    Masculino
  • Localização
    Florianópolis - SC

Contato

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Eu tenho duas tabelas e tentando inserir dados de outra tabela usando o comando insert all, mas quando eu executo mostra a seguinte mensagem ORA-00913 too many values.Eu verifiquei a projeção com a seleção e só funciona quando tenho a mesma quantidade de campos nas cláusulas com a projeção na seleção final, quando coloco "*" mostra o erro ORA-00913. Eu tenho outras partes no meu código muito parecidos, mas isso não acontece.As tabelas são empl_2a5, empl_5a10, empl_10a15 e empl_15a20, todas com a mesma estrutura CREATE TABLE empl_15a20 --empl_2a5, empl_5a10, empl_10a15 AS SELECT employee_id ,first_name ,last_name ,salary FROM employees WHERE 1 = 2 ; A inserção abaixo funciona bem INSERT ALL WHEN salary > 2000 AND salary < 5000 THEN INTO empl_2a5 VALUES (employee_id, first_name, last_name, salary) WHEN salary >= 5000 AND salary < 10000 THEN INTO empl_5a10 VALUES (employee_id, first_name, last_name, salary) WHEN salary >= 10000 AND salary < 15000 THEN INTO empl_10a15 VALUES (employee_id, first_name, last_name, salary) ELSE INTO empl_15a20 VALUES (employee_id, first_name, last_name, salary) SELECT * FROM employees; Abaixo esta o caso dos erros, eu tenho duas tabelas com a mesma estrutura emplcomm e noemplcomm CREATE TABLE noemplcomm --emplcomm AS SELECT employee_id ,department_id ,job_id ,salary ,commission_pct FROM employees WHERE 1 = 2 ; Quando executo esta inserção com "*" mostra o erro ORA-00913, só funciona quando deixo a parte abaixo sem os comentários INSERT ALL WHEN NVL(commission_pct,0) = 0 THEN INTO empl_1 (employee_id, department_id, job_id, salary, commission_pct) ELSE INTO empl_1 (employee_id, department_id, job_id, salary, commission_pct) SELECT /*employee_id, department_id, job_id, salary, commission_pct*/ * FROM employees; Por que no primeiro exemplo eu posso executar o comando com * mesmo tendo apenas alguns campos no comando INSERT ALL e o segundo exemplo isso não acontece?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.