【发布时间】:2021-08-11 23:02:57
【问题描述】:
我刚刚提到了与我遇到的相同 ORA 和 PLS 错误相关的类似帖子,但我仍然无法使用提供的解决方案来解决它。
我收到以下错误:PLS-00103:在预期以下之一时遇到符号“文件结尾”:开始函数杂注过程
我的代码:
create package PACHET is
procedure adaugaAngajat (v_id angajati.id_ang%type, v_idL angajati.id_lab%type, v_numeP angajati.nume%type, v_prenume angajati.prenume%type, v_ore angajati.ore_lucrate%type, v_sal angajati.salariul%type, v_dat angajati.data_angajare%type, v_tel angajati.telefon%type, v_post angajati.postocupat%type );
procedure modificaAngajat(v_id angajati.id_ang%type, v_idL angajati.id_lab%type, v_numeP angajati.nume%type, v_prenume angajati.prenume%type, v_ore angajati.ore_lucrate%type, v_sal angajati.salariul%type, v_dat angajati.data_angajare%type, v_tel angajati.telefon%type, v_post angajati.postocupat%type );
function verifica_telefon(v_tel angajati.telefon%type)
return boolean;
exp1 exception;
end;
create or replace package body PACHET is
procedure adaugaAngajat (v_id angajati.id_ang%type, v_idL angajati.id_lab%type, v_numeP angajati.nume%type, v_prenume angajati.prenume%type, v_ore angajati.ore_lucrate%type, v_sal angajati.salariul%type, v_dat angajati.data_angajare%type, v_tel angajati.telefon%type, v_post angajati.postocupat%type)
is
begin
if ( verifica_telefon(v_tel))
then
raise exp1;
else
insert into angajati values (v_id, v_idL, v_numeP, v_prenume, v_ore, v_sal, v_dat, v_tel, v_post);
end if;
exception
when exp1 then
dbms_output.put_line('Exista deja acest angajat!');
end;
【问题讨论】:
-
缺少现有代码。首先,在结束包规范的第一个分号后添加一个斜杠。如果您将
modificaAngajat和verifica_telefon的主体添加到包主体并在它们之后添加end;,似乎没有问题。 -
格式化您的代码可以更容易地发现不匹配的开始/结束关键字等。
标签: plsql oracle-apex apex-code plsql-package