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?
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;