编译以下代码时,apex 中出现 PLSQL 错误 - PLS-00103

问题描述

我刚刚提到了与我面临的相同 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 语句并运行它;然后取消选择它并选择包体来运行该语句。