Shared the event Types Bundle + repository local event = error in the source table

Hello

I use a CEP beam for deployment of more types of events common to other Applications. In one application, I declare a type of event locally in the EPN

i.e.
<wlevs:event-type-repository>
          <wlevs:event-type type-name="someLocalEvent">
               <wlevs:properties>
                    <wlevs:property name="someProp1" type="char" length="256" />
                    <wlevs:property name="someProp2" type="char" length="256" />
               </wlevs:properties>
          </wlevs:event-type>
<wlevs:event-type-repository>
And declare it as type of event for the table:
<wlevs:table id="table1" table-name="TABLE1" event-type="someLocalEvent" data-source="xeDs" />
Now, I get this error:
<Unknown event type [someLocalEvent] associated to external data source [table1]> 
But if I put it in the shared repository event, it works as expected. What happens if the event type is not intended to share? Is it possible to add new types of events locally and he aggregate with shared events?

Hello

Can you confirm the "someLocalEvent" and "table1" are defined in the same application?
It may be wise to ensure that the event type is defined before the table.

Best regards

Tags: Fusion Middleware

Similar Questions

  • change the source tables in the materialized view

    If I change the name of the source table in a materialized view, I have to delete and recreate the MV? For example, My MV uses a table from a DBlink. Instead I want to physically copy the table in the schema, and then create the MV using the local table, then change MV to use the remote table and I expect to start refreshing the MV for incremental data. Can I do it?

    No, you can't.  Oracle has no way of knowing that the modified table (name) is identical to the original table.

    Hemant K Collette

  • MV for replication. No PK in the source table and the LOB column

    I would like to replicate tables between 2 instances in 2 different hosts. Mixed 11 GR 1 material and Oracle 10 g 2. I have my doubts:

    1. some tables from the source is not PK, and I understand that MV with rowid is not supported. Is there no workaround known workaround on this case without changing the structure of the source table? Full/complete update is acceptable.

    2 one of the table has the CLOB data type. Can I just ignore this column in MV? A known issue with this kind of approach?

    #1. You must use WITH ROWID MV and I believe it is supported up to the latest version, unless you can find any document, please give me the code of Notes.
    #2. CLOB column is supported in MV, so no need to jump.

  • Using Merge in oracle 11g this error SQL Error: ORA-30926: failed to get a stable set of rows in the source tables

    whenever I run this code I get this error

    SQL Error: ORA-30926: failed to get a stable set of rows in the source tables

    30926 00000 - "impossible to get a stable set of rows in the source tables.

    * Cause: A stable set of rows could not be achieved due to the large dml

    activity or one not deterministic where clause.

    * Action: Remove any non deterministic of the clauses and reissue of the dml.

    Don't know wht goes wrong!


    SQL:

    MERGE IN VENDORS_ACTIVE_DATE s

    USING (nvl (d.VENDOR, s.VENDOR) selection of the SELLER,

    NVL (d.COMPANY_CODE, s.COMPANY_CODE) COMPANY_CODE.

    (case when ((d.VENDOR = s.VENDOR) and (d.COMPANY_CODE = s.COMPANY_CODE)))

    )

    then "MATCH".

    When d.COMPANY_CODE is null

    then 'DELETE '.

    When s.COMPANY_CODE is null

    then "INSERT."

    else 'UPDATE '.

    chck end)

    from (select * from VENDORS_ACTIVE_DATE where COMPANY_CODE = 2) s

    full outer join (select * provider where COMPANY_CODE = 2) d

    on (d.COMPANY_CODE = s.COMPANY_CODE AND s.COMPANY_CODE = 2)

    ) d

    WE (d.COMPANY_CODE = s.COMPANY_CODE AND d.chck in ('UPDATE', 'GAME', 'DELETE'))

    WHEN MATCHED THEN

    UPDATE SET s.VENDOR = d.VENDOR

    WHERE d.chck in ('UPDATE', 'DELETE')

    DELETE WHERE d.chck = 'DELETE '.

    WHEN NOT MATCHED THEN

    INSERT (SELLER, COMPANY_CODE)

    VALUES (d.VENDOR, d.COMPANY_CODE)

    Work request: (deleted the duplicate data in tables (source and target))

    MERGE IN VENDORS_ACTIVE_DATE s

    USING (nvl (d.VENDOR, s.VENDOR) selection of the SELLER,

    NVL (d.ACTIVEDATE, s.ACTIVEDATE) ACTIVEDATE.

    NVL (d.COMPANY_CODE, s.COMPANY_CODE) COMPANY_CODE.

    (case when ((d.VENDOR = s.VENDOR))

    - AND D.ACTIVEDATE = S.ACTIVEDATE

    and NVL (d.ACTIVEDATE, trunc (sysdate)) = NVL (s.ACTIVEDATE, trunc (sysdate))

    and (d.COMPANY_CODE = s.COMPANY_CODE)

    )

    then "MATCH".

    When d.COMPANY_CODE is null

    then 'DELETE '.

    When s.COMPANY_CODE is null

    then "INSERT."

    else 'UPDATE '.

    chck end)

    from (select * from suppliers where COMPANY_CODE = 2) d

    full outer join (select * from vendors_active_date where COMPANY_CODE = 2) s

    on (d.COMPANY_CODE = s.COMPANY_CODE and s.vendor = d.vendor)

    ) d

    WE (d.COMPANY_CODE = s.COMPANY_CODE AND d.VENDOR = s.VENDOR AND d.chck in ('UPDATE', 'GAME', 'DELETE'))

    WHEN MATCHED THEN

    S.ACTIVEDATE = UPDATE SET d.ACTIVEDATE

    WHERE d.chck in ('UPDATE', 'DELETE')

    DELETE WHERE d.chck = 'DELETE '.

    WHEN NOT MATCHED THEN

    INSERT (VENDOR, ACTIVEDATE, COMPANY_CODE)

    VALUES (d.VENDOR, d.ACTIVEDATE, d.COMPANY_CODE)

  • FUSION IN: ORA-30926: failed to get a stable set of rows in the source tables

    Hi all

    Database Oracle 12 c Enterprise Edition Release 12.1.0.1.0 - 64 bit Production 0

    PL/SQL Release 12.1.0.1.0 - Production 0

    CORE 12.1.0.1.0 Production 0

    AMT for 64-bit Windows: Version 12.1.0.1.0 - Production 0

    NLSRTL Version 12.1.0.1.0 - Production 0

    When you use the MERGE clause, if executed more than once, I get the below error

    ORA-30926: failed to get a stable set of rows in the source tables

    create table CBC (nums number, sname varchar2 (10))

    create tar (tnum number, tNom varchar2 (10)) table

    Insert in src values (1, 'a')

    Insert in src values (1, 'b')

    Insert in src values (2, "c")

    merge into tar

    using the CBC

    on (nums = tnum)

    when matched

    then

    update the value tNom = sname

    When not matched

    then

    Insert the values(snum,sname);

    What expect, it's that first time itself (when inserted), he must raise the error. But it's not.

    Select * from tar

    TNUM TNOM

    1 b

    1 a

    2 c

    But if we run for the second time it shows the error.

    I saw the document of the Oracle and he said

    MERGEis a deterministic statement. You cannot update the same row in the target table multiple times in the same MERGE statement.

    I've seen below cela son but failed to get the solution for this.

    MERGE STATEMENT ORA-30926: failed to get a stable set of lines in the source

    Nondeterministic fusion?

    Someone at - it make a clarification?

    I don't want to insert records into the first time itself. for example, to run the first time he must raise the error. can I do this using MERGE?

    Thank you

    Hello

    O - O wrote:

    Thanks knani, Frank.

    One more doubt.

    When you run the MERGE statement, the first time, there is no rows in the target table, so no rows in the target table is what it is.

    So we cannot perform below sqls using MERGE when the target table is empty?

    insert into tar values (1, 'a')

    updated tar tNom = 'b' set where tnum = 1

    insert into tar values (2, "c")

    Is - that means that the MERGER will be only works with validated data?

    Right; a MERGE statement will not update a line which has been previously inserted into the same MERGE statement.  All fact tables reference to the data in the tables by the time the MERGER began.

  • Impossible to get a stable set of rows in the source tables

    Hi guys,.

    I use the following query to fusion in a stored procedure.
       MERGE INTO tt_OPEN_IN_TMP B
       Using (Select * From Tt_Sl_Fifo) A 
       ON ( A.Store_Code = B.Store_Code
         AND A.item_code = B.item_code
         And A.Packing = B.Packing
         And A.Serial_No = B.Serial_No )
       When Matched Then Update Set Opn_Fifo_Cost = A.Rate_Bc;
    The procedure raises error * "Unable to get a stable set of rows in the source tables" * as a result of the query. But if I run the query individually, it works very well. Please help me solve this problem.

    Thank you
    RAM.

    The error is due to what there is in double store_code, item_code, packaging, combination of serial_no in the Tt_Sl_Fifo table. If there are multiple records with the same store_code, item_code, packaging, serial_no Oracle has no way to determine which to use for the update. If you know that there is whenever duplicates they will all have the same column of rate_bc then instead of using

    (select * from tt_sl_fifo)
    

    use

    (select distinct store_code, item_code, packing, serial_no, rate_bc from tt_sl_fifo)
    

    Or if there is other criteria, like a date column, you can use to determine what is the one you want to use to day then you can use something like

    (select store_code, item_code, packing, serial_no, rate_bc from tt_sl_fifo
      where (store_code, item_code, packing, serial_no, add_date) in
           (select store_code, item_code, packing, serial_no, max(add_date)
              from tt_sl_fifo group by store_code, item_code, packing, serial_no))
    
  • ORA-30926: failed to get a stable set of rows in the source table

    Dear all

    When I try to load my cube I get the error "ora-30926: failed to get a stable set of rows in the source table.
    Any idea? Googling for this error has not returned all the solutions.

    My env:

    Source: Oracle 10g (10.2.x)
    Target: Oracle 11g (11.1.0.7)

    I use the generator to warehouse 11.1.0.7 on Linux

    Thank you

    Hello

    Yes, I'm very sure. The error is revived by the MERGE statement.
    If the cube is empty, it is not a problem. All of the rows from the source Gets a surrogate key.
    If you run the cube for the second time, and you have two or more lines with exact in the attributes values as you use for correspondence, this error occurs.

    Kind regards
    Carsten.

  • Formulation of condition CQL with the source table and Javabean event

    Hello

    I managed to create a State in CQL that compares 2 values of TIMESTAMP between a source table and a Java bean.

    I did this by complying with the standard DATETIME SimpleDateFormat in the docs.

    But the format does not include milliseconds. Is there another way I can do this, without losing the value of millisecond of the Javabean?

    The request is something like

    Select table.*
    table, beans
    where table.sometimestamp < bean.startdate
    and table.sometimestamp > bean.enddate


    where bean.startdate and bean.enddate is a java.util.Date? (or all)

    I tried all kinds of combinations like to_timestamp (bean.startdate.getTime ()) but it is not the correct timestamp.

    Also tried to use types of java.sql. * but came through different CQL syntax errors.


    Any tips?

    Thank you!
    Jarell

    Hello

    I think you have two options:

    (1) to use SimpleDateFormat the of ' pattern. For example: "' yyMMddHHmmssSS', where the last two are the number of milliseconds.

    2) keep as a long (e.g. System.currentTimeMillis)

    Best regards
    Alex

  • Form on a Table with report - change of the source table after created form

    Hi all

    I have a 'form on a Table' where the various fields have the "Source Type" = "column of the database. I have 2 Questions for this type of shape:

    1: in the field "Source value or expression", it is possible to change the name of the field in the Table. But I can't understand how view or even change the underlying Table (which had to be chosen at the beginning, when the form was created at the start).

    2: my question in section that relates to the first question would be, if it is possible to have multiple underlying tables in the same region. Or whether it would be necessary to create a second region or change the "Column of the database" type in a type of SQL query?

    Thank you and best regards,

    David

    To change the table, you need to change the process of the page. A process has been generated called:

    Extraction of line of

    Here, you can modify the table, but you also have to make in your shipment after processes. Who are probably named:

    ApplyMRD and ApplyMRU

    If you want a form to be based on more than one table, you can create a view and base your form on this point of view instead of on the table, or you need customized treatment.

  • How to stop refreshing materialized views if the source table is null

    any ideas?

    Probably not what you were hoping for, but here's a few ideas.

    Your account shows - 113 (85 pending)
    1. How about helping to keep the forum clean by examining your 85 not resolved previous issues and give credit relatively USEFUL or RESPONDED to those who helped you in the past.

    2. read the FAQ at the top right of the page and view information about your system and your software so that we know what you're working with.

    3 ask your question in the body of the thread. Don't tell "of ideas.

    What is your question? Is this an academic question or you have a real problem that needs to be addressed?

    If you have a problem producing the DDL for the materialized view, and information about the type of discount that has been set up for this. Is there a newspaper view materialized on the underlying tables?

    The simple answer to your quest is to use UPDATE them on REQUEST and check the base tables before making a manual
    a: the best answer depends on what version of Oracle you are using and what is your actual configuration. Are your
    MVs in REFRESH GROUPS? Who can make a difference in the response.

    How can anyone help with this issue if you do not provide the information needed (FAQ)? Why is - someone MUST help if you show you don't appreciate help in marking questions to which answered once you have helped.

  • ORA-30926: failed to get a stable set of rows in the source tables

    Hello

    Please suggest me I get the error message when running under code MERG. Please suggest

    Below the two tables are the same in the code not to structure no change that I just need to update the real table when data in the temporary table.

    MERGE WITH CEMLI_ASSESMENT CM

    USING (SELECT DISTINCT * FROM TEMP_CEMLI_ASSESMENT) TCM

    WE (CM.PRO_ID = TCM.PRO_ID AND)

    CM CEMLI_NAME THE GROUP TCM. CEMLI_NAME)

    WHEN MATCHED THEN

    GAME UPDATE

    CM CEMLI_TYPE THE GROUP TCM. CEMLI_TYPE,

    CM CEMLI_CODE_UNIT_EXEC THE GROUP TCM. CEMLI_CODE_UNIT_EXEC,

    CM LAST_USAGE_DT THE GROUP TCM. LAST_USAGE_DT,

    CM REQUIRED GROUP TCM. Mandatory

    CM.COMPLEXITY = TCM.COMPLEXITY,

    CM HIT THE GROUP TCM. AFFECTED,

    CM RE_DEVELOPMENT THE GROUP TCM. RE_DEVELOPMENT,

    CM IMPACT_DESC THE GROUP TCM. IMPACT_DESC,

    CM CEMLI_GROUP THE GROUP TCM. CEMLI_GROUP,

    CM REVISED_COMPLEXITY THE GROUP TCM. REVISED_COMPLEXITY,

    CM RETRO_PLANNED_START_DT THE GROUP TCM. RETRO_PLANNED_START_DT,

    CM RETRO_PLANNED_END_DT THE GROUP TCM. RETRO_PLANNED_END_DT,

    CM RETRO_ACTUAL_START_DT THE GROUP TCM. RETRO_ACTUAL_START_DT,

    CM RETRO_ACTUAL_END_DT THE GROUP TCM. RETRO_ACTUAL_END_DT,

    CM FUT_PLANNED_START_DT THE GROUP TCM. FUT_PLANNED_START_DT,

    CM FUT_PLANNED_END_DT THE GROUP TCM. FUT_PLANNED_END_DT,

    CM FUT_ACTUAL_START_DT THE GROUP TCM. FUT_ACTUAL_START_DT,

    CM FUT_ACTUAL_END_DT THE GROUP TCM. FUT_ACTUAL_END_DT,

    CM UPDATE_FLG THE GROUP TCM. UPDATE_FLG,

    CM.COMMENTS = TCM.COMMENTS

    WHEN NOT MATCHED THEN

    INSERT (CM.PRO_ID, CM. CEMLI_NAME, CM. CEMLI_TYPE, CM. CEMLI_CODE_UNIT_EXEC, CM. LAST_USAGE_DT, CM. IF NECESSARY, CM.COMPLEXITY, CM. HIT, CM. RE_DEVELOPMENT, CM. IMPACT_DESC, CM. CEMLI_GROUP, CM. REVISED_COMPLEXITY, CM. RETRO_PLANNED_START_DT, CM. RETRO_PLANNED_END_DT, CM. RETRO_ACTUAL_START_DT, CM. RETRO_ACTUAL_END_DT, CM. FUT_PLANNED_START_DT, CM. FUT_PLANNED_END_DT, CM. FUT_ACTUAL_START_DT, CM. FUT_ACTUAL_END_DT, CM. UPDATE_FLG, CM.COMMENTS)

    VALUES (TCM.PRO_ID, TCM. CEMLI_NAME, TCM. CEMLI_TYPE, TCM. CEMLI_CODE_UNIT_EXEC, TCM. LAST_USAGE_DT, TCM. IF NECESSARY, TCM.COMPLEXITY, TCM. HIT, TCM. RE_DEVELOPMENT, TCM. IMPACT_DESC, TCM. CEMLI_GROUP, TCM. REVISED_COMPLEXITY, TCM. RETRO_PLANNED_START_DT, TCM. RETRO_PLANNED_END_DT, TCM. RETRO_ACTUAL_START_DT, TCM. RETRO_ACTUAL_END_DT, TCM. FUT_PLANNED_START_DT, TCM. FUT_PLANNED_END_DT, TCM. FUT_ACTUAL_START_DT, TCM. FUT_ACTUAL_END_DT, TCM. UPDATE_FLG, TCM.COMMENTS);

    Thank you

    Shilpa

    This means that there are several lines in traditional Chinese with the same TCM.PRO_ID and TCM. CEMLI_NAME. And the MERGER cannot be updated same line several times. You must decide what to do in such cases. If you don't care which line of lines with the same TCM.PRO_ID and TCM. CEMLI_NAME to take, use:

    MERGE WITH CEMLI_ASSESMENT CM
    WITH THE HELP OF TCM (SELECT T.*, ROW_NUMER () OVER(PARTITION BY PRO_ID,CEMLI_NAME ORDER BY 1) RN TEMP_CEMLI_ASSESMENT T)
    WE (CM.PRO_ID = TCM.PRO_ID AND)
    CM CEMLI_NAME THE GROUP TCM. CEMLI_NAME AND
    TCM. RN = 1)
    WHEN MATCHED THEN
    GAME UPDATE
    CM CEMLI_TYPE THE GROUP TCM. CEMLI_TYPE,
    CM CEMLI_CODE_UNIT_EXEC THE GROUP TCM. CEMLI_CODE_UNIT_EXEC,
    CM LAST_USAGE_DT THE GROUP TCM. LAST_USAGE_DT,
    CM REQUIRED GROUP TCM. Mandatory
    CM.COMPLEXITY = TCM.COMPLEXITY,
    CM HIT THE GROUP TCM. AFFECTED,
    CM RE_DEVELOPMENT THE GROUP TCM. RE_DEVELOPMENT,
    CM IMPACT_DESC THE GROUP TCM. IMPACT_DESC,
    CM CEMLI_GROUP THE GROUP TCM. CEMLI_GROUP,
    CM REVISED_COMPLEXITY THE GROUP TCM. REVISED_COMPLEXITY,
    CM RETRO_PLANNED_START_DT THE GROUP TCM. RETRO_PLANNED_START_DT,
    CM RETRO_PLANNED_END_DT THE GROUP TCM. RETRO_PLANNED_END_DT,
    CM RETRO_ACTUAL_START_DT THE GROUP TCM. RETRO_ACTUAL_START_DT,
    CM RETRO_ACTUAL_END_DT THE GROUP TCM. RETRO_ACTUAL_END_DT,
    CM FUT_PLANNED_START_DT THE GROUP TCM. FUT_PLANNED_START_DT,
    CM FUT_PLANNED_END_DT THE GROUP TCM. FUT_PLANNED_END_DT,
    CM FUT_ACTUAL_START_DT THE GROUP TCM. FUT_ACTUAL_START_DT,
    CM FUT_ACTUAL_END_DT THE GROUP TCM. FUT_ACTUAL_END_DT,
    CM UPDATE_FLG THE GROUP TCM. UPDATE_FLG,
    CM.COMMENTS = TCM.COMMENTS

    SY.

  • Don't know the source table space to use in REMAP_TABLESPACE

    11.2.0.2/Solaris 10

    We have a dump expdp of a related development scheme. We had dropped the source DB. Now, we want to create a new scheme in a new DB using this dump. We do not know the storage space used by the schema of the source as this DB does not exist today.

    To find the storage space used by the schema of the source, I can go ahead and impdp and cross errors "tablespace does not exist" in the log file impdp (need to do some research on Google to create an awk for this script)
    But y at - it another way to determine the storage space used by the schema of the source when the source database no longer exists? We do not have the expdp log file is (currently looking for it)

    I see 2 options for you.

    1. run your grep sqlfile import and then that file for the keyword TABLESPACE. This will give you all the tablespaces to be used when ordering import.

    2. start your import but with these:

    keep_master = master_only y = nom_du_travail y = my_master_only

    This will load just the main table, and then you can query the master to find storage space. If your dumpfile is important, it can be a lot
    faster than sqlfile once the import is complete, do a query like this:

    SQL > connect schema_running_job/password
    SQL > select unique object_tablespace from my_master_only where process_order > 0 and duplicate = 0;
    SQL > select unique object_name from my_master_only where process_order > 0 and duplicate = 0 and object_type = 'TABLESPACE ';

    I hope this helps.

    Dean

    Published by: Dean WINS 12 Sep, 2012 10:22

  • Create a table with a thinner than the source table granulaty

    Hello
    I had a problem. I have a source table that has vacation date / period for employees inside. I want to create a table where I "split" the period of vacation days for each employee.
    Example:
    Holiday table:
    Name - Holiday beginning - end of holiday
    Mr.X - 1.1.2011 - 5.1.2011
    Mr.Y - 2.5.2011 - 3.5.2011

    -> new table:
    Name - Day of vacation
    Mr.X - 1.1.2011
    Mr.X - 2.1.2011
    Mr.X - 3.1.2011
    Mr.X - 4.1.2011
    Mr.X - 5.1. 2011

    and so on
    Is there an operator or something else with which I could create the new table? I use OWB 11 GR 2

    THX

    Hello
    Join your source table to another table that contains all the dates (for example, you can use time dimension in OWB):

    Select vt.name, d.date_value in the vacation_table, vt, dates_tab d vacation_day
    where d.date_value between vt.vacation_start and vt.vacation_end

    Kind regards
    Oleg

  • behavior of the source table

    How should he behave in relation to the database? It make batch reading and flow of data? or he runs a single SQL converted from the CQL?

    It is advisable to use this for large sets of data for streaming?

    Hi Jarell:

    table-source (stage table on the epn) facilitates the search for reference/part data in a report database to increase the streaming of events. CQL communication to the database is via JDBC. It does not batch processing. It is not a stream source (but rather a source of traction).

    If you need to look for something in the database for a wide of streaming of events set then I wouldn't say it's the optimal strategy. You might be better to load the data in line - you can depreciate the cost of a time loading via research in memory. The problem with the previous strategy is the number of sliders/queries that will be created on the database server.

    Hope this helps,

    -Vikram.

  • MERGE or PL/SQL statement? (and ORA-30926: failed to get a stable set of rows in the source tables)

    Hi SQL & PL/SQL gurus...

    A bit of advice please...

    IM loading documents in the system... In this context, I have a routine that check the progress of loading (upload_records) against an existing table (supplier_records).  If the details differ so it updates, and if the folder does not exist, it inserts a new record...

    About 90% of the time, recording will be unchanged and the statement will do nothing...

    The challenge I have is that I get the error above fairly regularly, because (I think) there are simultaneous users, loading documents in the system... so, both tables change regularly...  The merge statement is below... but my question is: I would achieve anything by converting the merge statement into a PL/SQL loop that checks if the recordset contains a record that needs to either update or insertion? Would be the first simple quick check that reduction of 90% of the files works better, (with further processing if the folder must insert or update) and this would remove the error above, or the merge statement made the same thing anyway, and I should leave it as what? or is my incorrect merge statement and which contribute to the error?  The merge statement, if it finds a match, updates the record anyway, even if she didn't need to...  (which is not very effective)... However a pl/SQL loop will have to check if the record exists. check if it needs to be changed, change it if she does... Insert if the folder does not exist.

    MERGE statement is:

    MERGE INTO s suppliers

    USING (select distinct (sup_provision_id),

    provider,

    sup_acc_holder,

    sup_bank_acc,

    sup_bank_name,

    payments_upload sup_bank_branch

    where csv_id =: P20_CSV_ID) could

    WE (pu.sup_provision_id = s.supplier_id)

    WHEN MATCHED THEN

    GAME UPDATE

    s.SUPPLIER = pu.supplier,

    s.SUP_ACC_HOLDER = pu.sup_acc_holder,

    s.BANK_ACC_NO = pu.sup_bank_acc,

    s.BANK_NAME = pu.sup_bank_name,

    s.BRANCH_NO = pu.sup_bank_branch

    WHEN NOT MATCHED THEN

    INSERT (s.SUPPLIER_ID,

    s.SUPPLIER,

    s.SUP_ACC_HOLDER,

    s.BANK_ACC_NO,

    s.BANK_NAME,

    s.BRANCH_NO,

    s.CAT)

    VALUES (pu.sup_provision_id,

    able. Beg,

    Pu.sup_acc_holder,

    Pu.sup_bank_acc,

    Pu.sup_bank_name,

    Pu.sup_bank_branch,

    'S' );

    Thank you very much

    Richard

    Hi, Richard,.

    Richard Legge wrote:

    Hello.. Thanks for the reply...... The reason for the 'distinct' to ensure that the query retrieves only one line (based on the extraction of the full line, as you point out)... (so why he would never get more than one?) Well Yes... know that the media are not quite relevant...

    The reasoning is that out or 5000 records. 4000 will have the same provider... so want to retrieve a single record for what it (or other unique visitors who may be similar but have different criteria) and simply update the corresponding record, insert if there is no trace...

    Rgds

    Richard

    SELECT DISTINCT guarantees that no 2 rows will be exactly alike.  In other words, if you compare the 2 rows in the result set, either sup_provision_id supplier of GOLD supp_acc_holder for GOLD OR one of the other columns (or maybe 2 or more columns) will be different.  It does not guarantee that any 1 column will be unique.

    FUSION requires that, when a match is found, it should only be 1 line in the result set generated by the USING clause.  Given that the matching condition is

    WE (pu.sup_provision_id = s.supplier_id)

    This means that pu_sup_provision must be unique.  The ORA_30926 error occurs if it is not unique.  SELECT DISTINCT to ensure that complete lines in pu are unique, but it does not guarantee that any single column will be unique.

    Depending on your data and your needs, you may need to change the USING clause, so that sup_provision_id is unique.  You may need to add more conditions to the WHERE clause, or do a GROUP BY or use an analytic function such as ROW_NUMBER.

    If you need help, post a small example of data (that is, CREATE TABLE and INSERT statements for all the tables involved, as they are before the MERGER) and the exact results you want (that is, indicate which suppliers should contain after the MERGER).

    Check out the Forum FAQ: Re: 2. How can I ask a question on the forums?

Maybe you are looking for

  • Satellite 2455-SP295: need WLan driver

    Why I found no information on this one? I need wi - fi drivers but I even find the info abour this portatil to know the model of the wireless card, can someone help me?

  • communication error occurred when the power VI

    Hi all I have a frustrating situation.  I am trying to run a few screws on a Compact RIO 9073 chassis, and each time I start or stop the VI, I get two pop-up windows: "Communication Error occurred" (spelling is like on the popup) follow-up by ' WARNI

  • HP Envy 4500: Repeat Printing Documents

    Hi all I have recently, in the last six months, plug a HP Envy 4500 series all-in-one printer as a gift for my parents. Apparently, he has a problem where it printed a document several times (despite asking only one copy) and will continue to print i

  • Loss of wireless - V515W

    I have the above printer connected wireless to my Dell Vostro computer via a Netgear router. Regularly, it loses the connection IE I can print various documents and it will work normally. Suddeenly, and for no obvious reason, when I press print, noth

  • Connect laptop to a wireless printer wireless

    I don't know how to get my wireless printer to recognize and accept orders to print from my wireless laptop.  I have a netgear router and my thin deaktop computer functions. I don't have the procedure. Thank you.