Subscribe to Posts by Email

Subscriber Count

    701

Disclaimer

All information is offered in good faith and in the hope that it may be of use for educational purpose and for Database community purpose, but is not guaranteed to be correct, up to date or suitable for any particular purpose. db.geeksinsight.com accepts no liability in respect of this information or its use. This site is independent of and does not represent Oracle Corporation in any way. Oracle does not officially sponsor, approve, or endorse this site or its content and if notify any such I am happy to remove. Product and company names mentioned in this website may be the trademarks of their respective owners and published here for informational purpose only. This is my personal blog. The views expressed on these pages are mine and learnt from other blogs and bloggers and to enhance and support the DBA community and this web blog does not represent the thoughts, intentions, plans or strategies of my current employer nor the Oracle and its affiliates or any other companies. And this website does not offer or take profit for providing these content and this is purely non-profit and for educational purpose only. If you see any issues with Content and copy write issues, I am happy to remove if you notify me. Contact Geek DBA Team, via geeksinsights@gmail.com

Pages

18c Database : Private Temporary Tables

Starting 18c, we can create private temporary tables which can be visible to the session that created it using "Create Private temporary table" command.

Following are use cases for private temporary tables

  • When an application stores temporary data in transient tables that are populated once, read few times, and then dropped at the end of a transaction or session
  • When a session is maintained indefinitely and must create different temporary tables for different transactions
  • When the creation of a temporary table must not start a new transaction or commit an existing transaction
  • When different sessions of the same user must use the same name for a temporary table
  • When a temporary table is required for a read-only databaseNote: Names of private temporary tables must be prefixed according to the initialization parameter private_temp_table_prefix.

This statement creates a private temporary table that is transaction specific:

CREATE PRIVATE TEMPORARY TABLE GEEK$PTT_test_transaction (time_id DATE, amount_sold NUMBER(10,2)) ON COMMIT DROP DEFINITION;

This statement creates a private temporary table that is session specific:

CREATE PRIVATE TEMPORARY TABLE GEEK$PTT_test_session (time_id DATE, amount_sold NUMBER(10,2)) ON COMMIT PRESERVE DEFINITION;

-Thanks

Geek DBA

Comments are closed.