Search code examples
sqloracle-databaseprocedure

Procedure: ORA-24344: success with compilation error


I am trying to make a procedure that adds a new row to a table, but it gives the same error.

This is my table:

CREATE TABLE Facultate(
ID int not null,
Den_fac varchar(50),
Cod_fac varchar(10),
primary key(ID));

This is what i inserted in the table:

insert all 
into Facultate(ID,Den_fac,Cod_fac) values(1,'Facultatea de Biologie','B')
into Facultate(ID,Den_fac,Cod_fac) values(2,'Facultatea de Fizică','F')
into Facultate(ID,Den_fac,Cod_fac) values(3,'Facultatea de Literaturi Străine','LS')
into Facultate(ID,Den_fac,Cod_fac) values(4,'Facultatea de Psihologie','P')
into Facultate(ID,Den_fac,Cod_fac) values(5,'Facultatea de Informatică','I')
select 1 from dual;

And this the procedure:

CREATE OR REPLACE PROCEDURE addfacultate(f_id facultate.id%type,
 f_den_fac facultate.den_fac%type,
 f_den_fac facultate.cod_fac%type)
 IS
 BEGIN
  INSERT INTO facultate(id,den_fac,cod_fac)
   VALUES(f_id,f_den_fac,f_cod_fac);
 END;

What can i do to make the error disappear?


Solution

  • As @OldProgrammer said, f_den_fac is declared twice. I believe it is a typo and you need f_cod_fac

    CREATE OR REPLACE PROCEDURE addfacultate(f_id facultate.id%type,
     f_den_fac facultate.den_fac%type,
     f_cod_fac facultate.cod_fac%type)
     IS
     BEGIN
      INSERT INTO facultate(id,den_fac,cod_fac)
       VALUES(f_id,f_den_fac,f_cod_fac);
     END;