Insert in OWB statement

Hello

How can I create a mapping in OWB 11.2 to be inserted?

Thank you.
-bzx

Multi-table insert supported by OWB - use dirrectly operator splitter before the target tables and do not forget to specify the condition on the output group.
but there are limitations on the use of additional operators after spilltter - look at this thread (for example if you add after separator filter operator OWB generated stop multitable insert statement):
How to use Oracle 10 G SQL features in OWB?

Kind regards
Oleg

Tags: Business Intelligence

Similar Questions

  • How to INSERT a SELECT statement with a GROUP BY clause on a table with an IDENTITY column?

    n an application, I intend to truncate and insertion on a 12 c Oracle database, but have found this problem with a IDENTITY column. Even if the INSERT... SELECT statement works on most SELECT uses I tried, if this statement was also a GROUP BY clause, it does not work, delivering a "ORA-00979: not a GROUP BY expression ' complaint. Some examples of code:

    create table aux ( owner_name varchar2(20), pet varchar2(20) ); 

    insert into aux values ('Scott', 'dog');

    insert into aux values ('Mike', 'dog');

    insert into aux values ('Mike', 'cat');

    insert into aux values ('John', 'turtle'); 


    create table T1 (

    id number generated always as identity,

    owner_name varchar2(20),

    pet_count number );

    select owner_name, count(*) as pet_count from aux group by owner_name; -- works just fine

    insert into T1 (owner_name, pet_count) select owner_name, count(*) as pet_count from aux group by owner_name; -- doesn't work

    The select statement works by itself, but it fails as an INSERT... SELECT statement.

    Appreciate the help!

    Looks like a bug. You must open the SR with Oracle. Meanwhile, you could materialize select:

    SQL > insert into T1 (owner_name, pet_count)
    2 with t as (select / * + materialize * / owner_name, count (*) as pet_count to the owner_name group)
    3. Select owner_name, pet_count t
    4.

    3 lines were created.

    SQL > select * from t1;

    ID OWNER_NAME PET_COUNT
    ---------- -------------------- ----------
    1 John                          1
    Scott 2 1
    3 Mike                          2

    SQL >

    Keep in mind index THAT MATERIALIZE is undocumented.

    SY.

  • Insert an Update statement in a Trigger

    I'm new to APEX and I'm trying to determine the best place to put an update for an audit table.

    This is the trigger that I work with:

    create or replace trigger "LEASES_T1"
    BEFORE
    insert or update or delete on "LEASES"
    for each row
    begin
        if inserting then
            :new.CREATION_DATE := sysdate;
            :new.created_by := nvl(v('APP_USER'),user);
            :new.last_update_date := sysdate;
            :new.last_update_by := nvl(v('APP_USER'),user);
    
        elsif updating then
            :new.last_update_date := sysdate;
            :new.last_update_by := nvl(v('APP_USER'),user);
        end if;
    
    end;
    INSERT INTO LEASE_AUDIT (LEASE_ID) VALUES (P2_ROWID);
    
    


    It is a basic triggers relaxation I raised a stock APEX.  It works fine without the addition of the audit at the end.  It updates the data created or changed for a table called LEASES.  During the same operation, I want to record this action in the audit table, LEASE_AUDIT.  The barebones for this statement is on line 18, above.

    Passing through some other posts which dealt with similar issues, it seemed that it would be timely to update in the trigger, but I don't know where it would go.  In this case, the statement is at the end, since it does not matter whether registration in the leases table exists or not.  The PK for LEASES is configured to be a ROWID generated by the screen (I have since been notified that a sequence may be a better method).

    So, how framing this statement to work?  Or is this oddball approach?

    I'm on APEX 4.2.4 on 11g.  My experience has been Access and VBA, mainly on autonomous databases (non-SQL Server backend).

    Thank you!

    I think a composed trigger may be the way to go.  I'll throw it against the wall and see if it sticks.

    Thank you!

  • Insert records into statement

    Refresh us the data from the production environment by using the Task Scheduler tool (channels, programs, programs, etc.).  It is probably not the best way, but I inherited structure, is what it is.  Seen retrieve data on a database link, apply logic to the data (collection ontime, ontime delivery) and fill the tables.

    Procedures to insert in temporary tables, which carries data over a database link.  Then records are deleted and inserted into the actual table based on records from the temporary table using the IN clause on the primary key.  Some tables have several columns of hundreds (new legacy, not preferred) using an UPDATE is not feasible.  Here is an example of one of the procedures.

    DATE_CUTOFF is the create date or the date of update of the document.  NN_SHIPMENT_INFO_XA is the actual table.  NN_SHIPMENT_INFO_XA_TEMP is the temporary table.

    NN_SHIPMENT_INFO_XA has 292 columns, so deletion and insertion of 10 k lines takes nearly two hours.  I read what one of the most inefficient operators.  I tried to gather statistics on the temporary table every time, but that has not helped.  Break the view into pieces and reducing the number of columns is difficult because there are several layers of logic and tables between the database link and the layer of the end user.  Because of its complexity, I am committed to the design of my predecessor in the foreseeable future.  Is there a better way to build this procedure to make it run faster?

    Any suggestions are greatly appreciated.

    In the code you posted, you do:

    Select max (date_cutoff_nnsi_xa) - interval time '12'

    in last_cutoff_nnsi_xa

    of nn_shipment_info_xa

    Keep little and use last_cutoff_nnsi_xa as a predicate on the view using a part of the merge as you statement used to fill the temporary table.  So, the merger would look more like:

    merge into nn_shipment_info_xa targ

    using (select * from nn_shipment_info_xa_temp)

    where date_cutoff_nnsi_xa > last_cutoff_nnsi_xa) CBC

    on (targ.shipment_id = src.shipment_id)

    When matched then

    Update

    Set targ.col1 = src.col1,

    Targ.col2 = src.col2,

    ...

    -possibly

    where targ.col1 <> src.col1 and

    Targ.col2 <> src.col2

    ...

    When not matched then

    Insert (shipment_id, col1, col2,...)

    values (CBC, col1, src.shipment_id, src.col2,...)

    John

  • TO_DATE in insert in cursor statements

    Hi guys,.

    I was wondering if I could use a to_date in an insert statement in a cursor.
    The following code is valid?
    create table main_table
    ( eff_date date,
     version varchar2 (5),
     user1 varchar2(10));
    
    
    create table sample_table
    ( eff_date date,
     version varchar2 (5),
     user1 varchar2(10));
    
    insert into main_table(eff_date ,version,user1) values (sysdate, '1.0',user); 
    insert into main_table(eff_date ,version,user1) values ('01-APR-07', '1.0',user); 
    insert into main_table(eff_date ,version,user1) values ('29-MAY-09', '1.0',user); 
    insert into main_table(eff_date ,version,user1) values ('14-FEB-11', '1.0',user); 
    
    CREATE OR REPLACE PROCEDURE PROCEDURE1
    is 
    type rec1
    IS
      record
      (
        eff_date main_table.eff_date%type,
        version main_table.eff_date%type,
        USER1 MAIN_TABLE.EFF_DATE%TYPE);
    type type_tab_sample
    IS
      TABLE OF REC1;
      tab_sample type_tab_sample;
      CURSOR c1
      IS
        SELECT EFF_DATE,VERSION,USER FROM MAIN_TABLE WHERE VERSION = '1.0';
        num_count number := 0;
    BEGIN
      OPEN C1;
      FETCH c1 BULK COLLECT INTO tab_sample ;
      CLOSE c1;
      
      IF  sql%rowcount > 0 THEN
        FOR num_pos IN tab_sample.first .. tab_sample.last
        LOOP
          UPDATE SAMPLE_TABLE
          SET eff_date    = to_date(tab_sample(num_pos).eff_date,'dd-mon-yyyy'), -- is this valid?
            version       = tab_sample(num_pos).version,
            user1         = USER;
          IF sql%rowcount = 0
          THEN
            INSERT  INTO sample_table
              (
                eff_date,
                version,
                user1
              )
              VALUES
              (
                to_date(tab_sample(num_pos).eff_date,'dd-mon-yyyy'), -- is this valid?
                TAB_SAMPLE(NUM_POS).VERSION,
                tab_sample(num_pos).user1
              ) ;
          END IF;
        END LOOP;
      END IF;
    END PROCEDURE1;
    Thank you
    Anita

    Published by: Anita.I on January 2, 2013 11:19

    Published by: Anita.I on January 2, 2013 11:26

    Anita.I wrote:

    set  eff_date = to_date(tab_bsc(num_pos).eff_date,'dd-mm-yyyy'), -- is this valid?
    ( to_date(tab_bsc(num_pos).eff_date,'dd-mon-yyyy'), -- is this valid?
    

    It depends on

    http://docs.Oracle.com/CD/E11882_01/server.112/e26088/functions203.htm#SQLRF06132

    >
    To_date char CHAR, VARCHAR2, NCHAR, or NVARCHAR2 data type converts a DATE data type value.
    >

    If .eff_dt tab_bsc (num_pos) is a CHAR, VARCHAR2, NCHAR, or NVARCHAR2 data type and in the format "dd-mm-yyyy" then it is.

    Otherwise, it is not

  • Insert the select statement result in CLOB

    Hi, I would like to insert the result of a statement select into a CLOB with a trigger.

    Whevner a number is registered my research to trigger how often the number is used in several objects and now my problem I also would like to know the record ID where the number is used.

    SELECT 'ITEXT '.
    OF 'CHECK_INR '.
    WHERE 'USE' > 1

    This select records of results 2 How can I insert the result into a CLOB with my trigger?

    Thanks in advance

    Steven,

    It's really a question better suited for another forum because it is not really associated with ApEx. Also, something tells me that you really want to do an UPDATE not an insert. However, here's a quick example...

    DECLARE
    
       l_orders VARCHAR2(4000);
    
    BEGIN
    
       FOR x IN (
          SELECT *
          FROM my_orders_table
       )
       LOOP
          l_orders := l_orders || ', ' || x.order_data_column;
       END LOOP;
    
       l_orders := l_trim(l_orders, ', ');
    
       UPDATE some_table
       SET some_column = l_orders
       WHERE id = some_id;
    
    END;
    

    That's the key. Use VARCHAR2 unless you need CLOB.

    Kind regards
    Dan

    http://danielmcghan.us
    http://sourceforge.NET/projects/tapigen

  • Can I omit THEN in a when then the clause of an insert statement multi-table?

    Example of a test of the demo:

    You have been appointed as the DBA for a National Bank that provides services of credit and debit cards to its customers. The records for these two types of card users are stored and preserved in the card_customers of Bank data table.

    You decide to create separate tables for credit card users and users of debit cards and then use the data in the card_customers table to populate the new tables. Information for clients who hold both types of card must be added to the time of the tables.

    Which of the two following options provide the most effective way of inserting the customer data in the credit_card_holders and debit_card_holders tables? (Choose two.)

    Explanation:

    In this scenario, the following statement provides the most effective way of inserting data in the credit_card_holders and debit_card_holders tables:

    INSERT ALL
    When card_type = 'Crédit' THEN credit_card_holders
    When card_type = 'Throughput' THEN debit_card_holders
    SELECT * FROM card_customers;

    Le INSERT all THE statement verifies the conditions in the two clauses WHEN , regardless whether one of them is true or false. If a condition when is true, then the line corresponding to the INSERT statement is executed is inserted in the card_customers in the credit_card_holders table or the debit_card_holders table. If a customer has a credit card and a debit card, there will be two rows in the table card_customers for the same customer, one with card_type = 'Crédit' and the other with card_type = 'Throughput'. This statement inserts the correct lines in the tables in a single pass.


    The TIME is here (in bold) are not present in answer C.


    basic question: can I omit the keyword THEN in a moment, then clause?

    What happened when you tried the failure THEN?

    Do not be afraid to break the Oracle by actually TRYING things.

    The best and fastest, to learn is to try things yourself.

    Then, see the documentation for the basic issues.

    http://docs.Oracle.com/CD/B28359_01/server.111/b28286/statements_9014.htm

    View the diagram of syntax for the 'conditional_insert_clause' and you will see that the word is necessary.

  • Insertion of a DML statement as string in a table column


    Hello

    Is there a way I can insert a dml statement (such as "update a SET COL1 = 10") in a table column using a procedure or a function.

    I can do it by simply running an INSERT statement. But how can I do with a proc or function without getting an error "Cannot perform a DML operation inside a query"

    Please advice

    Hello

    937454 wrote:

    In fact, it can be done through a procedure. I was trying to see if I can do this with a function.

    Of course, you can do so via a function; you just can not call this function of a SQL statement.

    If the function returns a VARCHAR2, then you could call it like this:

    DECLARE

    foo VARCHAR2 (100);

    BEGIN

    foo: = fun_a;

    END;

    or like this:

    BEGIN

    dbms_output.put_line (fun_a);

    END;

  • Help with the insert statement

    Hello

    I was wondering if someone could help write me a sql statement.

    Here is my table:
    CREATE TABLE "TEMP_INVOICE" 
       ("INVOICE" VARCHAR2(100 BYTE),
         "DATE_OF_DOCUMENT" DATE, 
         "DATE_OF_PAY_DAY" DATE, 
         "D" NUMBER, 
         "K" NUMBER
       );
    Here are the instructions for correct insertion. This time, I posted 2 examples with 2 numbers different otherwise.
    insert into temp_invoice (invoice,DATE_OF_DOCUMENT,DATE_OF_PAY_DAY,d,k)  values (1000,to_date('01.02.2012','dd.mm.yyyy'),to_date('01.03.2012','dd.mm.yyyy'),5000,0);
     
    insert into temp_invoice (invoice,DATE_OF_DOCUMENT,DATE_OF_PAY_DAY,d,k)  values (1000,to_date('01.04.2012','dd.mm.yyyy'),'','',1000);
     
    insert into temp_invoice (invoice,DATE_OF_DOCUMENT,DATE_OF_PAY_DAY,d,k)  values (1000,to_date('01.05.2012','dd.mm.yyyy'),'','',3000);
     
    insert into temp_invoice (invoice,DATE_OF_DOCUMENT,DATE_OF_PAY_DAY,d,k)  values (1000,to_date('01.06.2012','dd.mm.yyyy'),'','',1000);
    
    insert into temp_invoice (invoice,DATE_OF_DOCUMENT,DATE_OF_PAY_DAY,d,k)  values (2000,to_date('01.07.2012','dd.mm.yyyy'),to_date('01.09.2012','dd.mm.yyyy'),8000,0);
     
    insert into temp_invoice (invoice,DATE_OF_DOCUMENT,DATE_OF_PAY_DAY,d,k)  values (2000,to_date('01.10.2012','dd.mm.yyyy'),'','',5000);
     
    insert into temp_invoice (invoice,DATE_OF_DOCUMENT,DATE_OF_PAY_DAY,d,k)  values (2000,to_date('01.11.2012','dd.mm.yyyy'),'','',2000);
     
    insert into temp_invoice (invoice,DATE_OF_DOCUMENT,DATE_OF_PAY_DAY,d,k)  values (2000,to_date('01.12.2012','dd.mm.yyyy'),'','',1000);
    I want to do is make an insert allows you to table another call is MADE:
    CREATE TABLE "INVOICE" 
       ("INVOICE" VARCHAR2(100 BYTE),
        "DATE_OF_DOCUMENT" DATE, 
         "DATE_OF_PAY_DAY" DATE,
         "DATE_OF_PAYMENT_REC" DATE,
         "VALUE" NUMBER,
         "VALUE_DEDUCT" NUMBER,
        "DATE_FROM" DATE,     
         "DATE_TO" DATE
         );
    Statements in the INVOICE table should be like this:


    ........ The Bill... date_of_document... date_of_pay_day... date_of_payment_rec... value... value_deduct... Date_from... Date_to
    1......     1000...............1.1.2012.................1.3.2012................NULL............................ 5000... NULL... 1.3.2012...1.4.2012
    2......     1000...............1.4.2012.................NULL..................... 1.4.2012...1000... 4000... 2.4.2012... 1.5.2012
    3......     1000...............1.5.2012.................NULL..................... 1.5.2012...3000... 1000... 2.5.2012... 1.6.2012
    4......     1000...............1.6.2012.................NULL..................... 1.6.2012...1000


    Can someone help me with the sql statement that would insert data from table to table Bill temp_invoice as in the example?

    Thank you!

    PS

    I would try to explain.
    (1) the first statement that is to be inserted is original imply that at which is different DATE_OF_PAY_DAY to NULL.
    To this inserted negative of the original imply, we must add date_from that is exatly the same date_of_pay_day and date_to which is exactly the same as the date of the first payment. Payment which came first!
    (2) we have now in the second insert statement. It will be the first payment of lease with date_of_document and date_pf_payment_rec, which is the same as date_fo_document. Value field will be populated with the amount of payment received and value_deduct field will be the value of the original imply - value of the first payment. Date is date_of_document + 1 and date_to is the date of the next payment.
    (3) Insert us the next installment. Date_od_payment_rec is the same as date_of_document... value is the amount of the second payment and value_deduct's previous value_deduct which was of 4000 - value of this second payment. date_from date_of_payment_rec + 1 and date_to is the date of the next payment

    So we continue this same pattern until we reached the final payment when we finish insert with the statement:
    Date of the document (date of the last payment received) and even for date_of_payment_rec and field value with the amount of the payment receieved. The rest (value_deduct, date_from, date_to) is null.

    I really hope you understand what I'm trying to do here.

    If you have any other questions please.

    Published by: user13071990 on November 22, 2012 04:16

    Published by: user13071990 on November 22, 2012 04:16

    Hello

    user13071990 wrote:
    ... Here are the instructions for correct insertion. This time, I posted 2 examples with 2 numbers different otherwise.

    Ok!
    Be sure to post the results you want new data.

    You probably need to add "PARTITION BY the Bill" to all analytical clauses in my solution:

    INSERT INTO invoice
    ( invoice, date_of_document, date_of_pay_day, date_of_payment_rec
    , value,   value_deduct,     date_from,           date_to
    )
    SELECT       invoice
    ,       date_of_document
    ,       date_of_pay_day
    ,       CASE
               WHEN  k > 0
               THEN  date_of_document
           END          AS date_of_payment_rec
    ,       NVL (d, k)     AS value
    ,       NVL2 ( date_of_pay_day
                , NULL
                , SUM (d) OVER ( PARTITION BY  invoice
                                          ORDER BY      date_of_document
                         )
                - SUM (k) OVER ( PARTITION BY  invoice
                                          ORDER BY      date_of_document
                         )
                )     AS value_deduct
    ,       NVL ( date_of_pay_day
               , date_of_document + 1
               )          AS date_from
    ,       LEAD (date_of_document) OVER ( PARTITION BY  invoice
                                            ORDER BY      date_of_document
                               )
                          AS date_to
    FROM       temp_invoice
    ;
    

    Because I'm not an English speaker nativ, that I just posted what it should look like after the insert is successful.

    OK, so you can't explain as you want, but you still need to explain.

    ... @Frank Kulash: you are very close, but still not quite what I'm looking for.

    Point out where my solution is the production of incorrect results, and explain (as you can) how to get good results in these places.

  • Windows configures the State!

    On startup, I get the message "the feature you are trying to use is on a CD-ROM or another removable disk that is not available.  Insert the disk State, and then click OK.  Then he said: apt status Windows.  I have to click Cancel at least 10 times to do this, go away.  What can I do to remove this feature/headaches!  Thanks for any help you can offer...

    http://h10025.www1.HP.com/ewfrf/wc/document?DocName=c01631295&LC=en&DLC=&cc=us&product=467982

    It seems t be a problem with the HP software.
    Read the info at the link above.

    If more information is not resolved, contact HP:

    http://h10025.www1.HP.com/ewfrf/wc/contacthp?LC=en&DLC=en&cc=au

    See you soon.

    Mick Murphy - Microsoft partner

  • Difference in performance between the CTA and INSERT / * + APPEND * / IN

    Hi all

    I have a question about the ETG and "Insert / * + Append * / Into" statements.

    Suite deal, I have a question that I did not understand the difference in operating times EXADATA.

    The two tables of selection (g02_f01 and g02_f02) have not any partition. But I could partition tables with the method of partition by column "ip_id" hash and I tried to run the same query with partition tables. Change anything in execution times.

    I executed plan gather statistics for all tables. The two paintings were 13.176.888 records. The two arrays have same "ip_id' unique columns. I want to combine these tables into a single table.

    First request:

    Insert / * + append parallel (a, 16) * / in dg.tiz_irdm_g02_cc one

    (ip_id, process_date,...)

    Select / * + parallel (a, 16) parallel (16B) * / *.

    tgarstg.tst_irdm_g02_f01 a.,

    tgarstg.tst_irdm_g02_f02 b

    where a.ip_id = b.ip_id


    Elapsed = > 45: 00 minutes


    Second request:

    create table dg.tiz_irdm_g02_cc nologging parallel 16 compress for than query

    Select / * + parallel (a, 16) (b, 16) parallel * / *.

    tgarstg.tst_irdm_g02_f01 a.,

    tgarstg.tst_irdm_g02_f02 b

    where a.ip_id = b.ip_id

    Elapsed = > 04:00 minutes


    Execution plans are:


    1. Enter the statement execution Plan:

    Hash value of plan: 3814019933

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

    | ID | Operation | Name | Lines | Bytes | TempSpc | Cost (% CPU). Time |    TQ | IN-OUT | PQ Distrib.

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

    |   0 | INSERT STATEMENT.                  |    13 M |    36G |       |   127K (1) | 00:00:05 |        |      |            |

    |   1.  LOAD SELECT ACE | TIZ_IRDM_G02_CC |       |       |       |            |          |        |      |            |

    |   2.   COORDINATOR OF PX |                  |       |       |       |            |          |        |      |            |

    |   5:    PX SEND QC (RANDOM). : TQ10002 |    13 M |    36G |       |   127K (1) | 00:00:05 |  Q1, 02 | P > S | QC (RAND) |

    |*  4 |     IN THE BUFFER HASH JOIN |                  |    13 M |    36G |   921 M |   127K (1) | 00:00:05 |  Q1, 02 | SVCP |            |

    |   3:      RECEIVE PX |                  |    13 M |    14G |       |  5732 (5) | 00:00:01 |  Q1, 02 | SVCP |            |

    |   6.       PX SEND HASH | : TQ10000 |    13 M |    14G |       |  5732 (5) | 00:00:01 |  Q1 00 | P > P | HASH |

    |   7.        ITERATOR BLOCK PX |                  |    13 M |    14G |       |  5732 (5) | 00:00:01 |  Q1 00 | ISSUE |            |

    |   8.         STORE TABLE FULL ACCESS | TST_IRDM_G02_F02 |    13 M |    14G |       |  5732 (5) | 00:00:01 |  Q1 00 | SVCP |            |

    |   9.      RECEIVE PX |                  |    13 M |    21G |       | 18353 (3) | 00:00:01 |  Q1, 02 | SVCP |            |

    |  10.       PX SEND HASH | : TQ10001 |    13 M |    21G |       | 18353 (3) | 00:00:01 |  Q1, 01 | P > P | HASH |

    |  11.        ITERATOR BLOCK PX |                  |    13 M |    21G |       | 18353 (3) | 00:00:01 |  Q1, 01 | ISSUE |            |

    |  12.         STORE TABLE FULL ACCESS | TST_IRDM_G02_F01 |    13 M |    21G |       | 18353 (3) | 00:00:01 |  Q1, 01 | SVCP |            |

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

    Information of predicates (identified by the operation identity card):

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

    4 - access("AIRDM_G02_F01".") IP_ID '= 'AIRDM_G02_F02'.' IP_ID")

    2 - DEC execution Plan:

    Hash value of plan: 3613570869

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

    | ID | Operation | Name | Lines | Bytes | TempSpc | Cost (% CPU). Time |    TQ | IN-OUT | PQ Distrib.

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

    |   0 | CREATE TABLE STATEMENT.                  |    13 M |    36G |       |   397K (1) | 00:00:14 |        |      |            |

    |   1.  COORDINATOR OF PX |                  |       |       |       |            |          |        |      |            |

    |   2.   PX SEND QC (RANDOM). : TQ10002 |    13 M |    36G |       |   255K (1) | 00:00:09 |  Q1, 02 | P > S | QC (RAND) |

    |   3.    LOAD SELECT ACE | TIZ_IRDM_G02_CC |       |       |       |            |          |  Q1, 02 | SVCP |            |

    |*  4 |     HASH JOIN |                  |    13 M |    36G |  1842M |   255K (1) | 00:00:09 |  Q1, 02 | SVCP |            |

    |   5.      RECEIVE PX |                  |    13 M |    14G |       | 11465 (5) | 00:00:01 |  Q1, 02 | SVCP |            |

    |   6.       PX SEND HASH | : TQ10000 |    13 M |    14G |       | 11465 (5) | 00:00:01 |  Q1 00 | P > P | HASH |

    |   7.        ITERATOR BLOCK PX |                  |    13 M |    14G |       | 11465 (5) | 00:00:01 |  Q1 00 | ISSUE |            |

    |   8.         STORE TABLE FULL ACCESS | TST_IRDM_G02_F02 |    13 M |    14G |       | 11465 (5) | 00:00:01 |  Q1 00 | SVCP |            |

    |   9.      RECEIVE PX |                  |    13 M |    21G |       | 36706 (3) | 00:00:02 |  Q1, 02 | SVCP |            |

    |  10.       PX SEND HASH | : TQ10001 |    13 M |    21G |       | 36706 (3) | 00:00:02 |  Q1, 01 | P > P | HASH |

    |  11.        ITERATOR BLOCK PX |                  |    13 M |    21G |       | 36706 (3) | 00:00:02 |  Q1, 01 | ISSUE |            |

    |  12.         STORE TABLE FULL ACCESS | TST_IRDM_G02_F01 |    13 M |    21G |       | 36706 (3) | 00:00:02 |  Q1, 01 | SVCP |            |

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

    Information of predicates (identified by the operation identity card):

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

    4 - access("AIRDM_G02_F01".") IP_ID '= 'AIRDM_G02_F02'.' IP_ID")

    Oracle version:

    Oracle Database 11 g Enterprise Edition Release 11.2.0.4.0 - 64 bit Production

    PL/SQL Release 11.2.0.4.0 - Production

    CORE Production 11.2.0.4.0

    AMT for Linux: Version 11.2.0.4.0 - Production

    NLSRTL Version 11.2.0.4.0 - Production

    Notice how this additional distribution has disappeared from the non-partitioned table.

    I think that with the partitioned table that oracle has tried to balance the number of slaves against the number of scores he expected to use and decided to distribute the data to get a 'fair sharing' workload, but had not authorized for the side effects of the buffer hash join which was to appear and extra messaging for distribution.

    You could try the indicator pq_distribute() for the insert to tell Oracle that he should not disrtibute like that. for example, based on your original code:

    Insert / * + append pq_distribute parallel (a, 16) (a zero) * / in dg.tiz_irdm_g02_cc one...

    This can give you the performance you want with the partitioned table, but check what it does to the space allocation that it can introduce a large number (16) of extensions by segment that are not completely filled and therefore be rather waste of space.

    Concerning

    Jonathan Lewis

  • insertion of unique values as well as the value of the sequence

    Hello gurus,

    I need to copy values from table A to table B as well as the value of the sequence.

    Please find the scripts below.

    -Table A and insert

    create a (varchar2 (40) of ename, space job_id varchar2 (40));

    insert into a values ('Suri', 'THIS');

    insert into a values ('Suri', 'THIS');

    insert into a values ('ABC', 'Admin');

    -Creation of table B

    create table B (number empno, ename varchar2 (40), job_id varchar2 (40));

    -sequence to fill data in table B empno

    create sequences b_empno_seq.

    Requirement is that we need fill out the unique values in table A in table B as well as the sequence (for the empno column) value

    Please find below the insert and update statements I tried below.

    Please let me know if we have a better approach

    INSERT INTO B (ename, job_id)

    SELECT DISTINCT ename, job_id

    A.;

    UPDATE b b1

    SET empno = b_empno_seq. NEXTVAL

    WHERE ename in (SELECT ename b B2 WHERE b2.ename = b1.ename);

    -Suri ;-)

    INSERT INTO B

    () AS T

    SELECT DISTINCT ename,

    job_id

    A

    )

    SELECT b_empno_seq.nextval,

    Ename,

    job_id

    T

    /

    SY.

  • Error in the Merge statement using dblink

    Hello

    I am facing the following error when you use the merge statement using the dblink.

    ORA-02069: global_names must be set to true for this operation parameter.

    I can use the same dblink in my select insert and update statements but when I try to use merge then he invites the error said, is also not any syntax error as same statement can be used on the same tables of database instead of dblink.

    Please suggest any help will be much appreciated.

    Thanks in advance

    Hi Aqeel

    If insert and update statements work well through links db, then it should not be a problem with the merge statement. But if you are faced with the question, so please check the entire sql statement with tnsnames on both sides. Please share the tnsnames for the two dbs with dblink ddl.

    Concerning

    Jihane Narain Sylca

  • Add text in the stationary State

    Hello

    I think I must be missing something obvious. I created a rectangle on my page and filled with an image in a NORMAL State. Then, I click on the ADVANCED State and want to fill the white rectangle and add text. However, every time that I add or remove text in a State, it seems applied to all States. I can change the color and font of the text, but not actually to delete text in a State, but it remains in another.

    What Miss me?

    Thank you!

    Hello Luluwebdesign,

    Have you tried widget "Status button"? You can locate object > insert Widget > buttons > State button.

    You can customize according to your needs and for text, so you need to set the opacity to 0% for the normal state, so that he may see upward.

    Kind regards

    Vivek

  • Publish in the Merge statement

    Merge using insert is not the case, but update works fine.

    Oracle Database 11 g Enterprise Edition Release 11.2.0.3.0 - 64 bit Production

    PL/SQL Release 11.2.0.3.0 - Production

    CORE Production 11.2.0.3.0

    AMT for IBM/AIX RISC System/6000: Version 11.2.0.3.0 - Production

    NLSRTL Version 11.2.0.3.0 - Production

    TABLE tl_fm_rebate_feed

    Name                                      Null?    Type

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

    EVENT NOT NULL CHAR (1)

    SCIID NOT NULL NUMBER (10)

    TRXN_DATE NOT NULL DATE

    S2BX_REF_ID VARCHAR2 (19)

    OPICS_TRADE_ID NOT NULL VARCHAR2 (19)

    CCY_PAIR VARCHAR2 (7)

    DR_CCY VARCHAR2 (3)

    DR_AMT NUMBER (16.3)

    PYMT_CCY VARCHAR2 (3)

    PYMT_AMT NUMBER (16.3)

    CUST_REBATE_AMT_USD NUMBER (16.3)

    MISMATCH_RPT_FLAG VARCHAR2 (1)

    UPLOAD_DATE TIMESTAMP (6)

    PK of the table are trxn_date, opics_trade_id, sciid, event

    Tl_fm_rebate_feed of MERGE IN one

    USING (SELECT WOULD BE "LIKE 'EVENT', 1124046111 AS 'SCIID',

    TO_DATE (' 30 / 01/2014 ', ' DD/MM/YYYY') AS "TRXN_DATE."

    "40UXYA8" AS "S2BX_REF_ID."

    "LN0044795668' AS 'OPICS_TRADE_ID', ' USD/AED" AS "CCY_PAIR."

    "USD" AS "DR_CCY", 7694 AS "DR_AMT", "AED" AS "PYMT_CCY."

    -27552 AS "PYMT_AMT", 193 AS "CUST_REBATE_AMT_USD", "N", SYSTIMESTAMP

    B FROM DUAL)

    WE (a.s2bx_ref_id = b.s2bx_ref_id

    AND a.opics_trade_id = b.opics_trade_id

    AND a.sciid = b.sciid

    AND a.event = b.evenement

    )

    WHEN NOT MATCHED THEN

    INSERT (a.event, a.sciid, a.trxn_date, a.s2bx_ref_id, a.opics_trade_id,

    a.ccy_pair, a.dr_ccy, a.dr_amt, a.pymt_ccy, a.pymt_amt,

    a.cust_rebate_amt_usd, a.mismatch_rpt_flag, a.upload_date)

    VALUES (b.evenement, b.sciid, b.trxn_date, b.s2bx_ref_id, b.opics_trade_id,

    b.ccy_pair, b.dr_ccy, b.dr_amt, b.pymt_ccy, b.pymt_amt,

    b.cust_rebate_amt_usd, 'n', SYSTIMESTAMP);

    Concerning

    Sylvie

    Have you tried insert with select statement

Maybe you are looking for