Eles podem ser baseados em SESSION (os dados sobrevivem a um commit, mas não a uma desconexão/reconexão). Eles também podem ser baseados em TRANSACTION (os dados desaparecem após um commit).
Isso cria uma tabela temporária baseada em transações:
create global temporary table temp_table_transaction on commit delete rows ...
Isso cria uma tabela temporária baseada em sessão:
create global temporary table temp_table_transaction on commit preserve rows ...