create or replace trigger tes_trig before insert of a on test for each row declare record_count int:=0; begin select count(a) into record_count from test where a=:new; if record_count=1 then raise_application_error(21000,'数据已经存在,不允许插入!'); else null; end if; end;