问题描述
我刚刚提到了与我面临的相同 ORA 和 PLS 错误相关的类似帖子,但我仍然无法使用提供的解决方案解决它。
我收到以下错误:pls-00103:在期望以下之一时遇到符号“文件结束”:begin function pragma procedure
我的代码:
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_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_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;
解决方法
当您使用 Oracle Apex 标记问题时,我认为您正在尝试在其 SQL Workshop 中创建该包。因此,它一次只能执行一条语句。
因此,只将包规范放入编辑器并运行它。然后删除它并将包体放入编辑器并运行该段代码。
或者,选择 (paint it blue) package spec 语句并运行它;然后取消选择它并选择包体来运行该语句。