I'm a relatively new Oracle database developer coming from SQL Server.
I noticed that global temporary tables (created with ON COMMIT PRESERVE ROWS) lose their contents when the session times out, but the tables themselves still exist and have to be manually dropped before rerunning whatever script I have that creates them.
In SQL Server, a temporary table (which isn't global in any sense) is dropped and completely gone when the session is closed.
What is the logical or technical reason for Oracle keeping temporary tables around - but truncating them - when the session is closed?
(If there is a database or server option to avoid this behavior, it is irrelevant to my use-case since I'm only a developer and will be creating scripts that are run on an outside database.)