どのバージョンを実行していますか?
以下は、Oracle11R2で正常に機能します。
drop table tq84_eventdate;
create table tq84_eventdate (
data varchar2(10),
eventdate timestamp(0)
);
create trigger tq84_eventdate_trg
before insert on tq84_eventdate
for each row
begin
SELECT * INTO :NEW.EVENTDATE FROM (SELECT SYSDATE FROM DUAL);
end tq84_eventdate_trg;
/
insert into tq84_eventdate (data) values ('test');
select * from tq84_eventdate;
しかし、私が
insert into tq84_eventdate (data) values ('value too large!');
おっしゃったORA-12899を入手しました。したがって、エラーはおそらく、投稿したselectステートメントではなく、実際に挿入しようとしているデータに関連しています。
また、関連する注記では、トリガーで直接sysdateを割り当てることができます。つまり、selectステートメントの間接参照はありません。
create trigger tq84_eventdate_trg
before insert on tq84_eventdate
for each row
begin
:new.eventdate := sysdate;
end tq84_eventdate_trg;
/