过程:ORA-24344:编译错误成功

时间:2017-05-06 00:21:51

标签: sql oracle procedure

我正在尝试创建一个向表中添加新行的过程,但它会产生相同的错误。

这是我的表:

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

这是我在表格中插入的内容:

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;

这个程序:

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;

如何才能使错误消失?

1 个答案:

答案 0 :(得分:0)

正如@OldProgrammer所说,f_den_fac被宣告两次。我认为这是一个错字,你需要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;