Estou tendo o seguinte erro quando executo uma procedure em meu banco de dados:
ORA-01403 - Dados não encontrados
ORA-06512 - em INSERIR linha 18
Eis minha tabela:
NOME NOT NULL VARCHAR2(20 CHAR)
SOBRENOME NOT NULL VARCHAR2(50 CHAR)
CPF NOT NULL VARCHAR2(11 CHAR)
DATANASCIMENTO NOT NULL DATE
ENDEREÇO VARCHAR2(50 CHAR)
SEXO NOT NULL CHAR(1 CHAR)
SALARIO NOT NULL NUMBER(7,2)
CPF_SUPERVISOR VARCHAR2(11 CHAR)
DNR NUMBER
Eis minha procedure:
[code]create or replace
procedure inserir(
nome IN fun.nome%TYPE,
sobrenome IN fun.sobrenome%TYPE,
cadastro_pessoa_fisica IN fun.cpf%TYPE,
datanascimento IN fun.datanascimento%TYPE,
endereco IN fun.endereço%TYPE,
sexo IN fun.sexo%TYPE,
salario IN fun.salario%TYPE,
cpf_supervisor IN fun.cpf_supervisor%TYPE,
dnr IN fun.cpf_supervisor%TYPE) is
cpf_existente varchar2(11);
erro exception;
begin
select cpf into cpf_existente from funcionario where cadastro_pessoa_fisica = cpf;
dbms_output.put_line('CPF: '||cpf_existente);
if cpf_existente is not null then
raise erro;
else
insert into fun values(nome, sobrenome, cadastro_pessoa_fisica, datanascimento, endereco, sexo, salario, cpf_supervisor, dnr);
dbms_output.put_line('Funcionário inserido com sucesso!');
end if;
exception
when erro then
dbms_output.put_line(‘CPF já existente!’);
end;[/code]
Alguém me ajuda?