1)あなたの例には何か他のものがあるに違いありません。それは確かに私にとってはうまくいくようです
SQL> create table someTable( employeeid number );
Table created.
SQL> create table person( personid number, personnum varchar2(10) );
Table created.
SQL> ed
Wrote file afiedt.buf
1 CREATE OR REPLACE TRIGGER MYTRIGGER
2 AFTER INSERT ON SOMETABLE
3 FOR EACH ROW
4 DECLARE
5 v_emplid varchar2(10);
6 BEGIN
7 SELECT personnum
8 into v_emplid
9 FROM PERSON
10 WHERE PERSONID = :new.EMPLOYEEID;
11 dbms_output.put(v_emplid);
12 /* INSERT INTO SOMEOTHERTABLE USING v_emplid and some of the other values
from the trigger table*/
13* END MYTRIGGER;
14 /
Trigger created.
SQL> insert into person values( 1, '123' );
1 row created.
SQL> insert into sometable values( 1 );
1 row created.
2) V_EMPLID を Person.PersonNum%TYPE 型として宣言して、データ型が正しいことを確認し、テーブルのデータ型が変更された場合にコードを変更する必要がないようにすることをお勧めします。
3)トリガーが定義されているテーブルをクエリまたは更新できないことを知っていると思います(したがって、someTableへのクエリまたは挿入はありません)。