Global Temporary Tables and truncate

Hi all

I have SQL script like this. Firstly, it truncates the Temp_emp and then, it will load data from big_table.
Whenever I run this script from the SQL prompt, the data inserted into the Temp_emp are doubled. What can be the reason. Am I missing something
concert of temporary Tables and global Truncate?

*. SQL file starts here *.

BEGIN
RUN IMMEDIATELY 'TRUNCATE TABLE Temp_emp;
END;
/

INSERT INTO Temp_Temp
SELECT col1, col2, col3, col4 col5
Of
(SELECT col1, col2, col3, col4 col5 FROM big_table bt
WHERE bt. ROWID IN (SELECT MAX (ROWID) FROM big_table
GROUP BY col1, col2)
) ;

/

*. SQL file ends here *.

Thanks in advance,
PAL

Please remove the "/" after the insert in your sql script. It executes the same statement insert again. Therefore, the data are doubled.

Tags: Database

Similar Questions

  • How to insert into a GLOBAL TEMPORARY TABLE and get the data from it?

    The requrement is
    Split the string ENTRY point on the base and store it in a Collection. And the values of the collection will be stored in a global temporary table. Then, I'm updating some other table based on the data from the temporary table.

    There is in fact no error message. But there is no data in the temporary table and also no change in the update statement

    First of all, I'm creatiing a global temporary table only once outside the procedure.

    CREATE GLOBAL TEMPORARY table GLt (data_element number)


    create or replace procedure test_proc (p_in_string VARCHAR2) is
    i the number: = 0;
    number of POS: = 0;
    CLOB lv_str: = p_in_string;
    p_delim VARCHAR2 (1): = ', ';

    TYPE t_array IS TABLE OF VARCHAR2 (20) INDEX directory.
    t_array channels;

    BEGIN

    -cutting of string input and store in the strings (i) collection

    POS: = instr (lv_str, p_delim, 1, 1);
    WHILE (pos! = 0) LOOP
    i: = i + 1;
    Strings (i): = substr(lv_str,1,pos-1);
    lv_str: = substr (lv_str, pos + 1, length (lv_str));
    POS: = instr (lv_str, p_delim, 1, 1);
    IF pos = 0 THEN
    Strings (i + 1): = lv_str;
    END IF;
    END LOOP;

    run immediately "drop table TWG;
    run immediately ' CREATE GLOBAL TEMPORARY table (data_element number) TWG on commit preserve rows ";

    FORALL i in strings.first... Strings.Last
    INSERT INTO VALUES TWG (strings (i));
    commit;

    Update first_tbl set PIN is "XXX" where first_col in (select data_element from TWG);.
    commit;

    END test_proc;

    Published by: cedric b on January 25, 2013 12:59

    Remove the two execute immediate line. They are wrong.

    And then use the table in your code that you created at the beginning. The name is GLT.
    And delete the first commit. This validation would empty the temporary table of GLT.

    You get an error? Or it does not work as expected?

    Also, show how you call the procedure.

    Published by: Sven w. January 25, 2013 14:45

  • PLS-00357 on a global temporary table

    Oracle 11g R2

    I am using a dynamic SQL statement to delete rows. The WHERE THERE EXIST uses a global temporary table and it gives me

    PLS-00357: Table, view or reference sequence "TMPPRE_ARC" not allowed in this context

    Any ideas of a work around?

    create global temporary table tmppre_arc
      ( id number)
      ON COMMIT PRESERVE ROWS;
    
    
    CREATE OR REPLACE PROCEDURE test_del
    IS
       v_owner_tbl varchar2(61) := 'test_table'     ;
    BEGIN   /* DELETE_SOURCE */
            EXECUTE IMMEDIATE
                'DELETE FROM ' || v_owner_tbl || ' v ' || chr(10) ||
                'WHERE EXISTS ( SELECT    null '       || chr(10) ||
                'FROM      ' || tmppre_arc || ' r '  || chr(10) ||
                'WHERE       r.id     = v.id )' ;
    END test_del;
    /
    show errors
    
    
    LIsNE/COL ERROR
    -------- -----------------------------------------------------------------
    5/9      PL/SQL: Statement ignored
    8/29     PLS-00357: Table,View Or Sequence reference 'TMPPRE_ARC' not
    allowed in this contenxt
    
    
    
    
    
             allowed in this context
    

    This is false:

    'FROM ' | tmppre_arc | ' r '  || Chr (10) |

    Should be

    "OF tmppre_arc r | Chr (10) |

    SY.

  • Edit and a global temporary table

    Hi all

    Can someone tell me why when I create a TWG and insert the data as the followijng, I get insert 14 ranks msg. But when I do a select statement of the sqlwork shop, sometimes I get the data sometimes that I don't have. my understanding is that these data are supposed to stay during my session logon then got cleaned up when I left the session.
    I develop a screen in the apex and will use this temporary table for the user to perform editing work. Once Island edition done then I save the data in a static table. Is this possible? So far my every attempt to update that the temporary table always results in 0 rows updated in the temporary table and reversed to 0 lines. Can you help me?

    CREATE A GLOBAL TEMPORARY TABLE 'EMP_SESSION '.
    (SELECT "EMPNO" NUMBER NOT NULL,)
    'ENAME' VARCHAR2 (10),
    VARCHAR2 (9) "JOB."
    NUMBER OF "MGR."
    "HIREDATE" DATE,
    NUMBER OF "SAL."
    NUMBER OF THE "COMM"
    NUMBER OF "DEPTNO".
    ) ON COMMIT PRESERVE ROWS
    /

    insert into emp_session (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
    Select * from EMP
    --
    Select * from emp_session
    -Sometimes I 14 ranks, sometimes 0 rows

    Thank you.

    Tai

    APEX does NOT support the use of TWG... Use rather a collection to manipulate your temporary data... : http://www.dba-oracle.com/t_easy_html_db_collection.htm

    Thank you

    Tony Miller
    Webster, TX

  • Global temporary Tables from Oracle and connection pooling

    When grouping, connection ('maintain connections' in cfadmin) is enabled. Oracle Global Temporary tables is screwed up. Bleeding of a page of data request to another because CF is reusing the same Oracle session over and over again.

    Is there a JDBC driver that will allow the use of global Temp Tables while having enabled connection pooling? 

    Other applications, such as Oracle Application Server servers, somehow allow the pooling and work together harmoniously TWG.

    If your temporary tables created with the default setting of validation remove lines, the cftransaction tag will help you.  Copy the following code:



    insert into t_dan_test values (1)


    Select * from t_dan_test



    Select * from t_dan_test


    a 1 1 x sheet of dumping and x 2 0 dumping.

  • global temporary table in oracle

    HI all,
    I want to know more about TWG in oracle, why we use it, cant why we use table bunch (we can truncate and we can use) as TWG, please help me

    The data in a temporary table are private to the session that created and can be specific to the session or operations. If the data are deleted at the end of the transaction, the table must be defined as follows:

    CREATE TEMPORARY table GLOBAL My_Temp_Table (NUMBER of Column1, Column2 NUMBER) ON COMMIT DELETE ROWS.

    If on the other hand that data should be kept until the session ends, it should be defined as follows:

    CREATE TEMPORARY TABLE global my_temp_table (NUMBER of Column1, Column2) ON COMMIT PRESERVE ROWS;

    Various characteristics
    1. If the TRUNCATE statement is issued against a temporary table, only the specific session data trucated. There is no impact on the data of the other sessions.
    2. the data in temporary tables is automatically delete at the end of the session of the database, even if it ends abnormally.
    3 indexes can be created on temporary tables. Content in the index and the scope of the index are the same as the database session.
    4. the views can be created against temporary tables and combinations of temporary and permanent tables.
    5 Tempoarary tables can have triggers associated with them.
    6. export and import utilities can be used to transfer table definitions, but without data lines are treated.
    7. There are a number of tables linked to temporary restrictions, but here are the specific version.

  • Global temporary tables in a stored Proc

    Hi all

    I am trying to create a procedure that creates tables, and then global temporoay tables. This works well in a scrupt but when I place it in a proc, it fails with the following error

    Error (172,10): PLS-00103: encountered the symbol "TABLE" when awaits one of the following values: =. ( @ % ;


    I use the code below to create global temporary tables, but I don't think that you can do in a procedure?

    TRUNCATE TABLE TMP_table;
    DROP TABLE TMP_table;
    CREATE GLOBAL TEMPORARY TMP_table
    ON THE LINES OF COMMIT PRESERVE
    IN SELECT

    Thanks for any help

    You cannot use dll phrases in a Begin End; block directly.

    Yun can use something like

    Begin
    Execute immediate 'TRUNCATE TABLE TMP_table';
    Execute immediate 'DROP TABLE TMP_table';
    Execute immediate 'CREATE GLOBAL TEMPORARY TMP_table ON COMMIT PRESERVE ROWS AS SELECT ';
    End;
    
  • What to fill in 'field of the temporary table' for global temporary tables?

    Hello

    I use the Data Modeler 4.0.1.836 and everything that I put in the box 'the scope of the table temp' for a global temporary table doesn't seem to affect the DDL script about the ON COMMIT PRESERVE/DELETE the LINES option. The script poster ON COMMIT PRESERVE ROWS always anything.

    Yet, some of my temporary tables must be created as ON COMMIT DELETE ROWS.

    Using the Data Modeler wrote about it:

    Scope of the temporary Table:

    For a class as a temporary table, you can specify a scope, such as the Dimension or the Session.

    Not sure what 'Dimension' has to do with the scope here, but it makes no difference.

    I tried to put 'Session', 'Dimension', 'Operation', but no luck. So what is the text for the script generate ON COMMIT DELETE ROWS?

    Thank you

    Hello

    The temporary Scope of Table property (on page Types of Classification of the table properties dialog box) is purely documentary.

    To set ON COMMIT DELETE ROWS you must expand the browser for the relational model and find the node for the relevant Oracle physical model.  If you develop it you will find an entry there for your Table. Double-click on that to get the physical model properties dialog box for your table, and you will find a "Temporary" facility that has options (Preserve Rows), YES (Delete Rows) YES or no.

    David

  • Global temporary tables

    Hi, db 10g,

    I created a global temporary table with this statement:

    create a table temporary global items (item_id);

    and tried to insert inside of Toad, and I got the message

    1 row inserted,

    but when I asked it, I got

    no selected line?

    I tried the script several times, and the result is the same?

    Thank you

    Hello

    Hi Salem wrote:

    It worked, I added this clause

    ON COMMIT PRESERVE ROWS;

    to create it, statement and it worked correctly, but are not this clause the default?

    No, the default is ON COMMIT DELETE ROWS.  I don't know why; ON COMMIT PRESERVE ROWS seems to be much more widely used.

  • Global temporary table in PL/SQL with XML

    Hello

    I have the impression that it is something strange or maybe I'm missing something basic.

    Step 1: Create a global Temp table that should not be specific transaction.

    create a global temporary table Temp01

    (

    NUMBER OF TICKET_ID

    , Varchar2 (10) of the REGION

    NUMBER OF THE YEAR

    , CO_ID VARCHAR2 (10)

    ) ON COMMIT DELETE ROWS.

    Step 2:

    My XML that goes as a parameter to a new function.

    < TICKET >

    < TICKET_ID > 38498051 < / TICKET_ID >

    the USA < REGION > < / REGION >

    < YEAR > 2014 < / YEAR >

    XYZ123 < CO_ID > < / CO_ID >

    < / TICKET >

    Step 3: Create a Stand Alone function:

    -drop function aagarwal.wr_creation;

    create or replace FUNCTION XML_FUNC

    (

    ret_msg out varchar2,.

    p_xmlval IN varchar2

    )

    RETURN varchar2

    is

    l_xmlval varchar2 (4000): = p_xmlval;

    V_CO_ID VARCHAR2 (10);

    V_CODE VARCHAR2 (10);

    BEGIN

    BEGIN

    INSERT INTO Temp01

    (

    TICKET_ID,

    REGION,

    BLEACHED,

    CO_ID

    )

    SELECT

    EXTRACTVALUE (XmlType (p_xmlval), "/ TICKET/TICKET_ID ') ID,.

    EXTRACTVALUE (XmlType (p_xmlval), "/ TICKET/REGION") REGION.

    EXTRACTVALUE (XmlType (p_xmlval), "/ TICKET per YEAR"),.

    EXTRACTVALUE (XmlType (p_xmlval), "/ TICKET/CO_ID ') CO_ID

    FROM DUAL;

    ret_msg: = 'SUCCESS';

    -SELECT CO_ID IN V_CO_ID of aagarwal. TEMP_STAGE_WR;

    -return ret_msg;

    EXCEPTION

    WHILE OTHERS THEN

    ret_msg: = sqlerrm;

    Return ret_msg;

    END;

    BEGIN

    SELECT CO_ID INTO V_CO_ID FROM Temp01;

    / * MERGE IN the site is

    With the HELP of aagarwal. TEMP01 T

    WE (T.co_id = se.code AND se.type_nm = ' TYPE' and se.src_nm = T.region)

    WHEN NOT MATCHED THEN

    INSERT (ID, SRCNM, CODE, TYPENM)

    VALUES (SHARED_SEQ. NEXTVAL, T.region, T.co_id, 'TYPE');

    -commit; */

    return ret_msg | "ACE" | v_co_id;

    END;

    END;

    /

    Fact - created function.

    NOTE: MERGE statement is blocked and if the function was created in sweetness.

    Step 4: Call the function

    declare

    l_out varchar2 (50);

    l_outr varchar2 (50);

    p_xml XMLTYPE.

    Start

    l_outr: = XML_FUNC (l_out, ' < TICKET >)

    < TICKET_ID > 38498051 < / TICKET_ID >

    the USA < REGION > < / REGION >

    < YEAR > 2014 < / YEAR >

    XYZ123 < CO_ID > < / CO_ID >

    (< / TICKET > ');

    dbms_output.put_line (l_outr);

    end;

    /


    Step 5: Check the value being inserted into the temporary Table:


    Select * from temp01;


    So far so good.

    THE PROBLEM:

    Now I want to tweek the XML_FUNC function above by uncommenting MERGE statement, which brings me to an error that is not differentiable:

    I.e. PL/SQL: ORA-00942: table or view does not exist in line on MERGE pointing to Temp01 statement.

    NOTE: I tested this Merge statement explicitly (as long as the execution of Stand Alone and also by calling via anonymous block PLSQL) and its absolutely perfect work. And SITE table exist.

    PS: I would be grateful, if there is a better way to write this code? I'm not a regular PLSQL developer and so badly can write the code of practice.

    Kind regards

    AAG.

    Using 11.2.0.3:

    Owner of all these three objects is DBA.

    Are you sure?

    After the release of:

    Select object_name, object_type

    of object

    where object_name in ('TEMP01', 'SITE', 'XML_FUNC');

    You must grant the explicit right to select on the table for the owner of the function if the owners are different.

    This works as expected for me (user DEV has all 3 items):

    Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.3.0

    Logged in as dev

    SQL >

    SQL > create a global temporary table Temp01)

    NUMBER OF TICKET_ID 2

    3, Varchar2 (10) of the REGION

    4, NUMBER OF THE YEAR

    5, CO_ID VARCHAR2 (10)

    6)

    7. ON COMMIT DELETE ROWS.

    Table created

    SQL >

    SQL > create table site)

    Identification number 2

    3, srcnm varchar2 (10)

    4, code varchar2 (10)

    5, typenm varchar2 (10)

    6  );

    Table created

    SQL > create the sequence shared_seq;

    Order of creation

    SQL >

    SQL >

    SQL > create or replace FUNCTION XML_FUNC)

    2 p_xmlval IN varchar2

    3)

    4 RETURN varchar2

    5 is

    6 l_xmlval xmltype: = xmltype (p_xmlval);

    7. START

    8

    9 INSERT INTO Temp01

    (10)

    TICKET_ID 11,

    REGION 12,

    13 YEARS,

    CO_ID 14

    15)

    16. SELECT ID EXTRACTVALUE(l_xmlval, '/TICKET/TICKET_ID'),

    17 EXTRACTVALUE(l_xmlval, '/TICKET/REGION') REGION,

    18 EXTRACTVALUE (l_xmlval, ' / TICKET per YEAR ') YEAR.

    19 EXTRACTVALUE(l_xmlval, '/TICKET/CO_ID') CO_ID

    20 FROM DUAL;

    21

    22. MERGE IN site

    23. WITH THE HELP OF TEMP01 T

    (24)

    25 T.co_id = se.code

    26 AND se.typenm = 'TYPE '.

    27 and se.srcnm = T.region

    28)

    29 WHEN NOT MATCHED THEN

    30 INSERT (ID, SRCNM, CODE, TYPENM)

    31 VALUES (SHARED_SEQ. NEXTVAL, T.region, T.co_id, 'TYPE');

    32

    33 return "SUCCESS";

    34

    35 END;

    36.

    Feature created

    SQL >

    SQL >

    SQL > set serveroutput on

    SQL >

    SQL >

    SQL > declare

    2

    3 l_outr varchar2 (50);

    4

    5. start

    6

    7 l_outr: = XML_FUNC (')

    8 38498051

    9 USA

    10 2014

    11 XYZ123

    12    ');

    13

    14 dbms_output.put_line (l_outr);

    15

    16 end;

    17.

    SUCCESS

    PL/SQL procedure successfully completed

    SQL > select * from site;

    ID CODE TYPENM SRCNM

    ---------- ---------- ---------- ----------

    TYPE 1 USA XYZ123

  • Global temporary Table problem in ADF

    Hello

    I have an application where I need to use a TWG (on the ranks of commit preserve) DB and try to insert data to TWG of screw ADF.
    But the table does not store data even after the Commit command. [Even I tried with permament DB table, and it worked.]

    Could someone help me find the problem with inserting data TWG.


    Kind regards
    Manju

    It is not a good idea to use a global temporary Table in an ADF application. The problem is that all web applications are really stateless. ADF maintains the State of a session data backup or reload it when necessary. Regarding the database, ADF can disconnect a session from the database at any time and connect to another session. This means that you do not necessarily have a continuous database session, then the lines you wrote to a TWG may well gone with the following query. There are ways to tell ADF not to do, but they have a considerable performance drop.

    Therefore, rethinking how you will save temporary information for the duration of a user session. You can do it in an object view ADF BC (VO) - interviewed by VO data carried session - if ADF needs to share a user session to load the data of another user (this is called "passivation") it will save these data. Then when ADF 'active' session, he'll find the saved data and reload it. Or you can use a permanent table with your name or session id - a little more complicated, but possible.

    If you want to tell us a little bit your use case - you need your application to do so, we may have other alternatives.

  • declare a global temporary table

    Hello
    can I use the declare global temporary table (...) ststement of pl/sql, I need a temporary table for the current session.


    If not, what should be the alternative?

    Thank you...

    Published by: Amoeba on 23 August 2012 13:39

    Published by: Amoeba on 23 August 2012 13:41

    Hello

    >
    can I use declare global temporary table (...) as ststement of pl/sql, like I need a temporary table for the current session.

    If not, what should be the alternative?

    Thank you...
    >
    This query actually belongs to SQL and PL/SQL Forum. Please take care and post in the correct forum.

    In any case...
    CREATE TABLE TEMPORARY global is a DDL command. Once created TWGS will exist until he FELL. Try to create a TWG with the same name will fail. just like any table, view, etc. See http://docs.oracle.com/cd/B28359_01/server.111/b28310/tables003.htm#i1006400

    a: you can create a TWG once and use/re-use it anywhere in your code.
    (b) as it is a DDL you can not use in the DECLARE section. You can use BEGIN and EXCEPTION.

    See you soon,.

  • problem of global temporary table in different environment

    I have 2 environment
    production of 1) development) 2.

    developing oracle version is-
    ----------------------------------------
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
    PL/SQL Release 10.2.0.1.0 - Production
    CORE    10.2.0.1.0    Production
    TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production
    in prodcution
    -----------------
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
    PL/SQL Release 10.2.0.4.0 - Production
    CORE    10.2.0.4.0    Production
    TNS for Linux: Version 10.2.0.4.0 - Production
    NLSRTL Version 10.2.0.4.0 - Production
    We use two global temporary tables (tmp_transaction tmp_category_mv)(development and production).
    Both are contains the same set of data. I compared the data set.all are the same.
    but the return of different query defined in the development environment.

    But instead of a global temporary table in the development, it returns the same result, defined as the production, I used a normal array.

    Please suggest me what I do?

    my query
    ===========
    select /*+ parallel(t,4) */
                t.transaction_id,
                cr.cat_rule_id,
                cr.apply_seq,
                t.site_id,
                cr.site_id cat_rule_site_id
            from
                tmp_transaction t
                    left outer
                    join tmp_category_mv cr on
                            (cr.data_feed_code is null
                            or t.data_feed_code = cr.data_feed_code)
       and (cr.min_date is null or t.transaction_date > min_date)
       and (cr.max_date is null or t.transaction_date < max_date)
       and (cr.local_commodity_code is null or t.local_commodity_code like cr.local_commodity_code)
       and (t.local_supplier_code = cr.local_supplier_code)
       and (cr.local_commodity_name is null or t.local_commodity_name like cr.local_commodity_name)
       and (cr.invoice_description is null or t.invoice_description like cr.invoice_description)
       and (cr.cost_centre_name is null or t.cost_centre_name like cr.cost_centre_name)
       and (cr.purchase_order_description is null or t.purchase_order_description like cr.purchase_order_description)
       and (cr.purchase_order_line_desc is null or t.purchase_order_line_desc like cr.purchase_order_line_desc)
       and (cr.gl_code is null or t.gl_code like cr.gl_code)
       and (cr.gl_name is null or t.gl_name like cr.gl_name)
       and (cr.material_group_code is null or t.material_group_code like cr.material_group_code)
       and (cr.material_group_name is null or t.material_group_name like cr.material_group_name)
       and (cr.material_code is null or t.material_code like cr.material_code)
       and (cr.material_name is null or t.material_name like cr.material_name);
    Published by: BluShadow on February 8, 2012 13:29
    addition of {noformat}
    {noformat} tags. Please read {message:id=9360002} and learn to do this yourself.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                

    Hello

    Could be

    Bug 6193398: QUERY PARALLEL WITH an OUTER JOIN ON TEMPORARY DELIVERS INCORRECT RESULTS TABLE

    Database version 10.2.0.2.0

    Status 80 - development of Q / A

    WORKAROUND SOLUTION:
    - - - - - - - - - -
    Use the series query or table normal and not temporary.

    Concerning
    Peter

    EDIT: Status seems to be incorrect, in patch has been in 10.2.0.4

    No MOS?

    Published by: Peter on 8 February 2012 14:28

  • What is the best (global temporary Table or tables of Type Object)

    Dear all,

    I'll try to refine some code and find that we have a large loop that goes to loop over 100000 times and for each record, it in turn for validation of controls in individual tables.

    I intend to implement all of the functionality of controls using join conditions. I.e. to empty all the data into a global temporary table or tables oracle object type and apply the conditions of verification using join operations, so that I can avoid the unnecessary check for each record.

    If I want to implement this, I want to know what is best. A global temporary table or the Oracle Tables nested.

    Appreciate your response.

    Thank you
    MK.

    If you mean a global temporary table vs a variable from PL/SQL grouping, then 100 + lines is a lot to store in session memory a GTT would be so a more scalable solution. It will give you more options to manipulate the data using SQL.

    Note that a 'table of type object', or 'table object type' can mean a table of database (no PL/SQL) for example "CREATE TABLE MyTable mytype". However, I don't think you mean that.

  • Global temporary table Vs Table permanently to manipulate the transaction data

    Hi all

    Version of database - 10.2.0.4

    We need handle transactions, data in a table and put in an intermediate table (ie): to replicate the data in the tables of a schema of staging of the tables in the schema. Get info on transactions and handling.
    Can you please indicate which one of the below is the best option.

    Option 1:
    Create a global temporary table, each running process.

    Option 2:
    Create a table permanently and delete lines at the beginning of the process.

    Job expects every 5 minutes

    Thank you and best regards,
    Rakesh

    If data are transient and must be written to the disk (I'm not sure I follow your explanation for why written data on the disk are necessary - you have to touch table large transaction each time to fill the intermediate table) using a global temporary table. At least, you'll reduce the cost of writing the data to disk by generating less recovery.

    But ideally, you would not write the data on the drive at all and would be able to do it in SQL.

    Justin

Maybe you are looking for