我正在尝试创建一个向表中添加新行的过程,但它会产生相同的错误。
这是我的表:
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;
如何才能使错误消失?
答案 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;