1. Create a table
create table test ( id NUMBER, messageid VARCHAR2(32) );
2. Create a sequence
create sequence test_id minvalue 1 maxvalue 9999999 start with 1 increment by 1 cache 50;
3. Create a trigger
CREATE OR REPLACE TRIGGER "test_auto_id"
BEFORE INSERT ON recv_msg
REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW
DECLARE
BEGIN
SELECT test_id.NEXTVAL INTO :NEW.ID FROM DUAL;
END recv_trig;