Code:
SQL> create table xyz (id number(10), data varchar2(10));
Table created.

SQL> create sequence autonum ;
Sequence created.
SQL> select autonum.nextval from dual;

   NEXTVAL
----------
         1

SQL>  (OK, I skipped a couple steps here while I debugged my trigger.  The result is below)
SQL> edit
Wrote file afiedt.buf

  1  create or replace trigger xyz_bi before insert on xyz
  2  for each row
  3  begin
  4     select autonum.nextval into :new.id from dual;
  5* end;
SQL> /

Trigger created.

SQL> desc xyz
 Name                                      Null?    Type
 ----------------------------------------- -------- ------------------
 ID                                                 NUMBER(10)
 DATA                                               VARCHAR2(10)

SQL> insert into xyz (data) values ('Z');

1 row created.

SQL> insert into xyz (data) values ('Y');

1 row created.

SQL> insert into xyz (data) values ('X');

1 row created.

SQL> commit;

Commit complete.

SQL> select * from xyz;

        ID DATA
---------- ----------
         2 Z
         3 Y
         4 X