You can keep the flow the same, but the actual SQL will be different.
In SQLite:
insert into table ...
select last_insert_rowid();
In Oracle, assuming you have setup a trigger to emulate the auto_increment feature:
insert into table ...
select table_seq.currval from dual;
Note that you have to name your sequence predictably based on the table name to do that. We just append "_seq" to the table name to get the sequence name.
If you *really* want to be clever, you could set up an oracle package to contain a global session variable, and then make all your auto_increment-emulation triggers update that variable. Then you can write a last_insert_rowid() function to return that value. But you still need the "from dual" in oracle, so the sql is still different.