I am using Oracle 11g Global Temporary Tables as I need a solution where I can add rows to a temporary table for a join, and I want only the rows added to the temp table for
If you manually create tables in the tempdb database, you acheive more or less the same effect:
USE tempdb;
CREATE TABLE foo...
and then address them:
select * from tempdb..foo
These tables will not be deleted between sessions. You need to manually truncate them though, no equivalent of ON COMMIT DELETE ROWS.