When is SQL insert done?

I have a default form that has the default create button (which I'm assuming is tied to the after submit process - process row of <TABLENAME> which actually does the insert??). I want to execute a procedure after submit because I need to pass it the value of the primary key of this new record (I can see in session variables that this ID is bound already). Because of a FK constraint, my procedure process is bombing because the new record isn't actually in the database yet, even though my process runs AFTER the process row. Does anyone know how to make this work?

After insert proces put next process (ensure that this process is fired only when INSERT process is regularely done)....
In my example I'll use ID (number) field as PK of table1 which is referenced in Table2. This is working only if one isertion is done....If there are many of them then trigger is better solution...:
SELECT MAX(ID) INTO NEW_ID from table1;
INSERT INTO TABLE2 (....,FK_ID,...) VALUES (....,NEW_ID,....);This code will work because new id exists only in your transaction and no one other see it until commit is done.
Commit is done automatically one end of page, end of session or end of storry (as I get an answer once on this forum!).
Hope this helps!

Similar Messages

  • RE:ora-28500 when trying to insert into SQL Server table

    Hi all!
    I'm getting this when i attempt to insert into my table test in a SQL Server database. As u can see from the select, the database link seems ok. Any ideas plz. Thnx..
    SQL> select "idAges" from test@try2;
    no rows selected
    SQL> insert into test@try2 ("idAges","nARAges","nAPAges") values(10,'','');
    insert into test@try2 ("idAges","nARAges","nAPAges") values(10,'','')
    ERROR at line 1:
    ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
    [Generic Connectivity Using ODBC][Microsoft][ODBC SQL Server Driver][SQL
    Server]Cannot insert explicit value for identity column in table 'test' when
    IDENTITY_INSERT is set to OFF. (SQL State: 23000; SQL Code: 544)
    ORA-02063: preceding 2 lines from TRY2

    IDENTITY_INSERT on works only for particular session and for one table. It's not global variable.
    The only idea what I have is to create link from MS Sql to Oracle (right now You have oracle ->ms sql)and then before insert You will set identity_insert on and will run insert.

  • Fatal Internal Error: "image.cpp", line 13192 when trying to insert a cursor to graph

    NOTE:  This IS a duplicate post from the Breakpoint.  Text slightly changed.  The post in Breakpoint can be deleted.  All comments should be placed in this thread.
    I resolved the "Fatal Internal Error: "image.cpp", line 13192 when trying to insert a cursor to graph", but would like to share to find out if others have seen this and to determine whether this is a bug, or if it's time to redo my PC, or buy a new one..  
    I have an existing graphs (qt 6) which originally had 2 cursors.  This occurred while trying to add the third cursor. 
    Up until attempting to add the last cursor, the program worked great, and I had been running tests for a while.  However, I do recall seeing this problem when creating the original cursors, but not to this extent.  Plus I don't remember the original error message from that time.
    I needed to add one more cursor to the existing graphs.  As soon as I add a new cursor and set it's properties, I get a nasty error message and without warning LV8.2 simply closes itself (well, the only warning was the error message.  Tried it 3 times, same result.
    Here are the steps:
    Shut down the PC, went for a coffee, rebooted the PC.  Opened the LV project, opened the VI.  Immediately went to the graph properties to add the new cursor by doing the following steps: 
    Right click graph indicator icon on block diagram.
    Select Properties.
    Click on cursor tab.
    Click on Add
    Select Cursor 2 (3rd one, newly created)
    Change color
    Select cursor as a line
    Remove checkmark for "show cursor"
    Click OK
    I need to do this to 3 other graphs, same steps.  And as soon as I get to the step before clicking OK, I get the error message. 
    I managed to get an additional one done, by immediately saving after each step (yep going in & out of the properties).  But I've had this problem before when creating the first two cursors.
    Is it a bug?  Anyone else seen this?  Using LV8.2.  And the message is right about LOOSING ALL unsaved work!!!! 
    Here are more observations:
    Tried creating a new one on the second graph.  As soon as I clicked on the color, it crashed!
    See the error explanation below.  It is really clear, now anyone can solve it    LOL!!...  According to the error log, there's a bad image out there  
    .\manager\image.cpp(13192) : DAbort: bad image in ValidateImage
    $Id: //labview/branches/Europa/dev/source/manager/image.cpp#47 $
    0x007A81E8 - LabVIEW <unknown> + 0
    0x007A7BDB - LabVIEW <unknown> + 0
    0x00829D74 - LabVIEW <unknown> + 0
    0x008546CD - LabVIEW <unknown> + 0
    0x00C054E6 - LabVIEW <unknown> + 0
    0x0081B9C8 - LabVIEW <unknown> + 0
    0x0081EB9A - LabVIEW <unknown> + 0
    0x0084D9D4 - LabVIEW <unknown> + 0
    0x00854663 - LabVIEW <unknown> + 0
    0x00C054E6 - LabVIEW <unknown> + 0
    0x0085F7A1 - LabVIEW <unknown> + 0
    0x00BBACDD - LabVIEW <unknown> + 0
    0x00C06A2F - LabVIEW <unknown> + 0
    0x0085AA46 - LabVIEW <unknown> + 0
    0x00C06A2F - LabVIEW <unknown> + 0
    I observed the title bar after making changes to the properties.  I noticed that 3 out of 4 times, while changing the properties of the graphs to include the cursor, and saving after each & every step, that there were no stars appearing on the title bar to indicate "unsaved changes".  Saving was also much slower than usual.  I suspect, the program never got to placing the star before saving occurred.  However, I am noting everything.
    After creating the cursors, saving was and is normal, and the program runs well..   I have run tests without problems.
    Does anyone have a clue at what causes this?   Has anyone seen this before?
    Thanks,
    RayR

    Hi Donovan,
    I can't remember seeing this elsewhere.  When I get a chance, I'll create a new (blank) vi with new graphs and will repeat the steps. 
    I will let you know if I see this in the new vi.
    Thanks!
    RayR

  • Can't find some albums when trying to insert photos into other programs

    I am having trouble finding albums (and thus pictures) when trying to insert photos into a Word document or upload to mySpace/ facebook etc.
    After choosing 'insert<picture<from file<pictures<iPhoto Library' , I have the option of looking into the year-month-date or by album. Since I have a better memory of the 50+ albums I have created rather than their dates, I choose "Albums". This list only contains about half of my albums (with folder icons) and it appears outdated...ie one of the albums no longer exists in iPhoto and has been changed to a folders with several albums in it.
    I'm wondering why this is happening or how i can update the album list. I realize i could use the year-month-day thing but that is too frustrating.
    Carey
    iBook G4   Mac OS X (10.4.3)  
    iBook G4   Mac OS X (10.4.3)  

    Hi chantreya,
    iPhoto 5 now stores the Album information in a data xml file. The Albums folder within the iPhoto Library folder is no longer used. At some point, usually after a rebuild, you will no longer have that folder in the Finder.
    If you need to access photos from an album it is very difficult for a third party application to navigate the iPhoto Library in order to find the photo you need. You will have to know the date of import in order to find the photo.
    There are some third party applications that can read the xml file and can navigate the iPhoto library and show you the Albums. Hopefully more applications will be revised to read this file.
    Until then you will have to Share/Export the photos to the desktop. You can then navigate to the desktop to use the photos (example: web uploading from online photo site)
    If your application supports drag and drop, you can drag the photo from an open iPhoto Library window into your application.
    For email you can also use the email icon within iPhoto to open a message with the highlighted photo attached.
    You can also use spotlight to find images in an Album...
    This is what I have done using Spotlight to find my images that are in iPhoto albums without opening iPhoto..
    In iPhoto, select the album, then select all, go to Photos/batch change.
    Change the comments to text. In the text field I put the name of the Album.
    Do this for each album.
    Close iPhoto.
    Open Spotlight and put in the name of the Album ( you have to remember the names of the albums or have then written down)
    In the spotlight search results. click on "show all"
    Under "Images" click on the "xx more" to show all the images in the album.
    Make sure you have it in icon view, the icon view box is the last one on the blue images line.
    Now you can control click on the image to "reveal in finder", open in iPhoto or Mail, etc.
    I am not sure if this is going to make you happy and it is a little more work, but you can find images in albums and even view them in a slideshow (by clicking the play arrow at the end of the Images highlighted blue line) using Spotlight, all without opening iPhoto.
    One important thing to know is you can set up a graphic program to be an external editor (when you double click an image in the library} such as PhotoShop or PS Elements. You set up that within iPhoto Preferences. Just make sure you save the image flattened and with the same name. The edits will then be relected in iPhoto when you hit "save".
    Two Apple kbs for you to read
    Don't tamper with files in the iPhoto library folder
    About the iPhoto Library folder
    Lori

  • SQL insert statement in java with Excel file

    Dear all,
    I wrote a program is as the follow:
    import java.io.*;
    import java.sql.*;
    public class handleExcel
         Connection con = null;
         Statement stmnt = null;
         public handleExcel()
              String excel = "C:\\EGS\\app_files\\info_update_form_exported_data.xls";
              try
                   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                   String str="jdbc:odbc:DRIVER=Microsoft Excel Driver (*.xls);DBQ=" + excel + ";";
         String sql = "insert into [Sheet1$] (Name, Age, Test1, Test2, Test3) values ('mary','16','aa','bb','vv')";
                   con = DriverManager.getConnection(str, "", "");
                   stmnt = con.createStatement();
                   stmnt.executeUpdate(sql);
              catch(Exception e)
                   System.out.println("con is error!!");
                   e.printStackTrace();
         public static void main(String[] args)
              handleExcel TestHpc = new handleExcel();
    But when I run it, the error is as the follow:
    java.sql.SQLException: [Microsoft][ODBC Excel Driver]
         at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958)
         at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7115)
         at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3111)
         at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
         at sun.jdbc.odbc.JdbcOdbcStatement.executeUpdate(JdbcOdbcStatement.java:288)
         at hk.gov.edb.util.handleExcel.<init>(handleExcel.java:31)
         at hk.gov.edb.util.handleExcel.main(handleExcel.java:97)
    Please help me to solve this problem. Thank you so much for your help!
    Regards,
    kzyo

    Hi
    You can use the[b] jakarta POI api in order to read/write Excel file from java. Pure Java, no drivers nedeed.
    I tested and ok.
    Hope this helps

  • Pop-ups for parameter value insertion don't appear

    Hi,
    I am using Web Intelligence for creating a report that allows custom parameter values to be inserted via pop-up.
    The problem is such pop-ups for parameter value insertion don't appear on the various web browsers I make use of.
    (I.E. versioni, Firefox versioni)
    Any idea on how to solve such issue?
    thanks in advance,
    SC

    I suppose that you mean query prompts, that are parameters that are asked to the user in order to filter the data.
    Which version of BOE are you using?. If you are using BOE XI R2, that problem happens when you use Java 1.6 (only when editing the document), you should use Java <=1.5 (you can check the error in the java console while you execute the report).
    I think that problem was solved in a SP (not sure which SP solves this ¿SP4?)

  • Multiple SQLs INSERT in a single SQL with O.Lite on PDA

    Hi,
    We are using(and new to) Oracle on PDA, dvlping in JAVA. We need to increase performance and reliability to make multiple INSERT in a single SQL statement, dynamically created :
    We've got a syntax error when executing this :
    INSERT INTO t1 (row1,row2) VALUES ('x','y');
    INSERT INTO t1 (row1,row2) VALUES ('a','v');
    INSERT INTO t1 (row1,row2) VALUES ('e','r');
    etc... in a single execSql
    Any suggests would be helpfull !
    JMarc
    [email protected]

    Hi Praveen
    If your use case is like having large no. of data rows and inserting those into DB. I believe best appropriate way would be form a xml and then pass it to DB. While in DB, you can create SP and perform your logical steps(if any) thereafter inserting data into table.
    The above link shared by Muzammil talks on the same subject.
    While once within SP(DB layer), you can fetch entire xml using below example:
    DECLARE @data XML;
    -- Element-centered XML
    SET @data = '<data>
        <customer>
          <id>1</id>
          <name>Name 1 </name>
        </customer>
        <customer>
          <id>2</id>
          <name>Name 2</name>
        </customer>
         <customer>
          <id>3</id>
          <name>Name 3</name>
        </customer>  
        </data>';
    SELECT T.customer.value('(id)[1]', 'INT') AS customer_id,
           T.customer.value('(name)[1]', 'VARCHAR(20)') AS customer_name
    FROM @data.nodes('data/customer') AS T(customer);
    The above run will give you output from xml in single shot.
    You can also find maximum no. of rows as below.
    declare @max int
    select @max = @data.value('fn:count(/data/customer/id)','int')
    select @max  
    I believe above should help you around with your insertion...

  • Apostrophe in a String bombs a SQL insert

    I am having an issue with a Customer String parameter that is being used in a SQL INSERT. The customer name may from time to time have an apostrophe in it that causes our SQL INSERT to bomb on a missing comma error. I have tried to do this two separate ways:
    1)
    String query = "INSERT into CUSTOMER VALUES(" + account[0].custAcctNbr + ",'" + account[0].companyNm + "'," +
                   "'IN',null," + salesPerson[0].salespersonID + "," + "null,null,null,null,null," +
                   "null,null,null,null,null,null,null,null,null)";
    This works until an apostrophe is in the companyNm varaiable.
    2)
         PreparedStatement insertCustomer = bcc_conn_cust.prepareStatement(
         "INSERT into CUSTOMER VALUES(?,?,?,null,?,null,null,null,null,null,null,null,null,null,null,null,null,null,null");
         insertCustomer.setInt(1,Integer.parseInt(account[0].custAcctNbr));
         insertCustomer.setString(2,account[0].companyNm);
         insertCustomer.setString(3,"IN");
         insertCustomer.setInt(4,salesPerson[0].salespersonID);
         insertCustomer.executeUpdate();
    This also works when there is no apostrophe. However both bomb when it is present. Is there anyway to get around this, short of parsing a company name every single time we insert a new customer?

    Do you have any idea why this is not working? yes, whatever driver you are using isn't implementing this properly.
    variable I am using is a String variable, that has a
    value of Bates' Brownies. According to all I read, it
    seems I have used the Prepared Statement correctly but
    it is giving me that missing comma error. I would
    really rather not have to search every single company
    name as it is entered.well unless you can either find another driver or fix the one you've
    got i can't see what else you can do...
    here is some code to help you along with that.
    private String replaceQuotes(String toReplace){
      StringBuffer buff = new StringBuffer(toReplace);
      for(int i=0;i<buff.length();i++){
        if(buff.charAt(i)=='\''){
          buff.insert(i,'\'');
          i++;
      return buff.toString();

  • How I can make SQL Insert file on schedule

    Dear Community Members;
    Hope all you will be perfect. I required your urgent response on my query. I want to make an SQL Insert file, means I want to insert data from query in one table and after that, the data export in an SQL file as a SQL Insert file.
    All these things want to do on schedule not manually.
    Can anyone help and guide me how I can do it?

    Dear Members;
    Actually, we are working on two different applications, like sale and account. Now we want to post sale information in account system without any DBLink, for that I want to make a file where my data store in SQL Insert Statement format on scheduling, means I want to create a procedure which create this file on scheduling. After that same as I want to create a procedure in other system for read that file and execute. Now I have been found Oracle functionality but still I am facing a problem. The problem is that my procedure create a file with a single record not the all fetched record. My Procedure is as:
    DECLARE
      fileHandler UTL_FILE.FILE_TYPE;
      INSERT1 VARCHAR2(200);
      INSERT2 VARCHAR2(200);
      cursor c1 is
        select T.QTY, T.SLIP_NO, T.STORE_NO, T.Item_Code
        from test t
        where T.STORE_NO = 1;
    BEGIN
        for cur_rec in c1 loop
        INSERT1 := 'INSERT INTO TEST_2(Item_Code,STORE_NO,QTY,SLIP_NO) VALUES(';
        INSERT2 := INSERT1||CUR_REC.Item_Code||','||CUR_REC.STORE_NO||','||CUR_REC.QTY||','||CUR_REC.SLIP_NO||')' ;
      fileHandler := UTL_FILE.FOPEN('E:\Oracle\admin\udump', 'test_file2.SQL', 'W');
      --UTL_FILE.PUTF(fileHandler, 'Writing TO a file\n');
      UTL_FILE.PUTF(fileHandler, INSERT2);
      UTL_FILE.PUTF(fileHandler, '\n commit;');
      UTL_FILE.FCLOSE(fileHandler);
      END LOOP;
    EXCEPTION
      WHEN utl_file.invalid_path THEN
         raise_application_error(-20000, 'ERROR: Invalid PATH FOR file.');
    END;
    Please suggest/guide me where I am doing something wrong or missing. I'll thankful for your help.

  • SQL insert with select statement having strange results

    So I have the below sql (edited a bit). Now here's the problem.
    I can run the select statement just fine, i get 48 rows back. When I run with the insert statement, a total of 9062 rows are inserted. What gives?
    <SQL>
    INSERT INTO mars_aes_data
    (rpt_id, shpdt, blno, stt, shpr_nad, branch_tableS, csgn_nad,
    csgnnm1, foreign_code, pnt_des, des, eccn_no, entity_no,
    odtc_cert_ind, dep_date, equipment_no, haz_flag, schd_no,
    schd_desc, rec_value, iso_ulti_dest, odtc_exempt, itn,
    liscence_no, liscence_flag, liscence_code, mblno, mot,
    cntry_load, pnt_load, origin_state, airline_prefix, qty1, qty2,
    ref_val, related, routed_flag, scac, odtc_indicator, seal_no,
    line_no, port_export, port_unlading, shipnum, shprnm1, veh_title,
    total_value, odtc_cat_code, unit1, unit2)
    SELECT 49, schemaP.tableS.shpdt, schemaP.tableS.blno,
    schemaP.tableS.stt, schemaP.tableS.shpr_nad,
    schemaP.tableM.branch_tableS, schemaP.tableS.csgn_nad,
    schemaP.tableS.csgnnm1, schemaP.tableD.foreign_code,
    schemaP.tableS.pnt_des, schemaP.tableS.des,
    schemaP.tableD.eccn_no, schemaP.tableN.entity_no,
    schemaP.tableD.odtc_cert_ind, schemaP.tableM.dep_date,
    schemaP.tableM.equipment_no, schemaP.tableM.haz_flag,
    schemaP.tableD.schd_no, schemaP.tableD.schd_desc,
    schemaP.tableD.rec_value,
    schemaP.tableM.iso_ulti_dest,
    schemaP.tableD.odtc_exempt, schemaP.tableM.itn,
    schemaP.tableD.liscence_no,
    schemaP.tableM.liscence_flag,
    schemaP.tableD.liscence_code, schemaP.tableS.mblno,
    schemaP.tableM.mot, schemaP.tableS.cntry_load,
    schemaP.tableS.pnt_load, schemaP.tableM.origin_state,
    schemaP.tableM.airline_prefix, schemaP.tableD.qty1,
    schemaP.tableD.qty2,
    schemaC.func_getRefs@link (schemaP.tableS.ptt, 'ZYX'),
    schemaP.tableM.related, schemaP.tableM.routed_flag,
    schemaP.tableM.scac, schemaP.tableD.odtc_indicator,
    schemaP.tableM.seal_no, schemaP.tableD.line_no,
    schemaP.tableM.port_export,
    schemaP.tableM.port_unlading, schemaP.tableS.shipnum,
    schemaP.tableS.shprnm1, schemaP.tableV.veh_title,
    schemaP.tableM.total_value,
    schemaP.tableD.odtc_cat_code, schemaP.tableD.unit1,
    schemaP.tableD.unit2
    FROM schemaP.tableD@link,
    schemaP.tableM@link,
    schemaP.tableN@link,
    schemaP.tableS@link,
    schemaP.tableV@link
    WHERE tableM.answer IN ('123', '456')
    AND SUBSTR (tableS.area, 1, 1) IN ('A', 'S')
    AND entity_no IN
    ('A',
    'B',
    'C',
    'D',
    'E',
    AND TO_DATE (SUBSTR (tableM.time_stamp, 1, 8), 'YYYYMMDD')
    BETWEEN '01-Mar-2009'
    AND '31-Mar-2009'
    AND tableN.shipment= tableD.shipment(+)
    AND tableN.shipment= tableS.shipnum
    AND tableN.shipment= tableM.shipment(+)
    AND tableN.shipment= tableV.shipment(+)
    <SQL>
    Edited by: user11263048 on Jun 12, 2009 7:23 AM
    Edited by: user11263048 on Jun 12, 2009 7:27 AM

    Can you change this:
    BETWEEN '01-Mar-2009'
    AND '31-Mar-2009'To this:
    BETWEEN TO_DATE('01-Mar-2009', 'DD-MON-YYYY')
    AND TO_DATE('31-Mar-2009','DD-MON-YYYY')That may make no difference but you should never rely on implicit conversions like that, they're always likely to cause you nasty surprises.
    If you're still getting the discrepancy, instead of and INSERT-SELECT, can you try a CREATE TABLE AS SELECT... just to see if you get the same result.

  • Jdbc sql insert to oracle DB.

    Dear All,
    I'm using the jdbc connector to insert data directly into an Oracle database table.  I've got the SQL insert command which XI has generated by using the logSQLStatement parameter and I've proved the statement is good by pasting it directly into Toad where it is executed perfectly.  However XI is throwing the following errors;-
    Unable to execute statement for table or stored procedure. 'SI_ORDER' (Structure 'STATEMENT') due to java.sql.SQLException: ORA-01858: a non-numeric character was found where a numeric was expected
    MP: exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'SI_ORDER' (structure 'STATEMENT'): java.sql.SQLException: ORA-01858: a non-numeric character was found where a numeric was expected
    Does anyone know what might be the problem or even where I should start to troubleshoot this?
    Any help is much appreciated.
    Pete.

    Your question is how to load data from a text file into arrays?
    Start with a
    StreamReader to read the file one line at a time.  Then break each line into individual values, and add each value to a
    List<T>.  Then call .ToArray() on each list to set the value of each array-bound parameter.
    David
    David http://blogs.msdn.com/b/dbrowne/

  • SQL2005 cluster error MDB-05053  Errors when executing sql command: p nr="

    Hi all,
    We are migrating from 32 bit to x64 bit machines. SQL 2005 database on windows 2003.
    I am trying to install E 4.7-200 SR1 on the clustered nodes. The installation manuals for 4.7 are very old and there is nothing for SQL2005 installation.
    Now that some how we were able to have SQL up and running in clustered environment (It only took 10 days), After installing CI, I am not able to deploy the database and database creation phase is failing with the following error:
    MDB-05053  Errors when executing sql command: <p nr="0"/>.
    I am heavily relying on our server managment team on clustering and hoping they have done a good job, However I need some guidelines which can help me in verifying what they have done is correct and meets SAP and SQL requirments and issues we are facing is actually install problems not cluster.
    SAP install manuals are not detailed in this regards. Also manuals are out dataed and they only show the sql 2000 clustering pre-requisit for 4.7 installls.
    Can any one with clustering experience please help.
    Calling out NPC, As his sql installation and upgrade manual has helped me with stand alone installs, Hoping he has some thing for clustering as well.
    Regards,
    KG

    Hi,
    What installation CD/DVD are you using?
    Try look at SAP note [924288|https://service.sap.com/sap/support/notes/924288],
    and note [969699|https://service.sap.com/sap/support/notes/969699],
    and note [967124|https://service.sap.com/sap/support/notes/967124],
    and note [106275|https://service.sap.com/sap/support/notes/106275].
    In special the last note say at the end:
    "3. You must use the 51031444 CD to install Enterprise 4.7 on an x64 platform with SQL Server 2005. This CD installs the central instances and database instances. To convert the A and B nodes in MSCS, use the SAP NetWeaver 04 SR1 installation master CD or DVD."
    Hope this helps
    Regards
    Rolf

  • Unique constraint is not thrown when used MERGE INSERT (alone) via dblink.

    We found some interesting behaviour of unique constraint on Merge query when we use Merge When Not Matched Insert (no update query) via a dblink.
    In one Schema S1, on Table A1(c1,c2,c3) there is a unique constraint on column (c1,c2).
    Column c2 is nullable and has null for some records.
    Now i have a table A2 with same defintion as A1 in Schema S2.In S2 , i have a dblink of S1 as S1 itself.
    I have data in S2.A2. Here also i have some records with c2 as null and c1 matching with the data of S1.A1.
    Now from schema S2,
    I am using the following Merge Query,
    MERGE INTO S1.A1 target
    USING S2.A2 source
    ON (target.c1 = source.c1 and target.c2 = source.c2)
    WHEN NOT MATCHED
    INSERT (c1,c2,c3) values (source.c1, source.c2,source.c3)
    WHEN MATCHED
    UPDATE c3 = source.c3;
    Now when i execute this merge in schema S2,
    if i have some data in S1.A1 and S2.A2 having c1 as same and c2 as null, as oracle does not treat two nulls same, it goes for an insert, i have got unique constraint violated error.
    But if i execute MERGE INSERT alone, though that record is getting inserted , i am not getting unique constraint violated error.
    Oracle version we are using is 10g (10.2...).
    Is it a bug in oracle or what could have caused this behaviour.

    Dear,
    ERROR at line 1:
    ORA-00001: unique constraint (SYS_C00137508) violatedYou need to think about two things
    (a) read consistency : what was the situation of table_1 when the maching clause has been initially evaluated ; there were 0 rows matching which means the merge operation will be all insert
    (b) your matching clause has a problem : the join column must be unique in both tables otherwise the merge will be ambigous. You don't have a unique key on the source table
    (c) think that the merge operation will never insert id =1 and then update id = 1 within the same operation. This will never happen
    Hope this helps
    Mohamed Houri

  • Export sql insert generates to_date('1987-04-19','DD-MON-RR')

    export sql insert generates buggy dates :
    Scott --> Tables --> EMP --> export --> sql inserts
    Columns --> ALL
    Insert into "EMP" ("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7788,'SCOTT','ANALYST',7566,to_date('1987-04-19','DD-MON-RR'),3000,null,20);
    the to_date is invalid.
    this bug happens only when selecting ALL columns
    cheers
    Laurent

    Hi Sue,
    I have version 1.0.0.15.57 Linux x86 (downloaded last week).
    Is there a way to produce trace files or additional info so that we can debug this one?
    $ env
    PATH=/bin:/usr/bin
    LANG=en_US.UTF-8
    HOME=/home/lsc
    DISPLAY=:0.0
    _=/usr/bin/env
    $ cat /etc/SuSE-release
    SUSE Linux Enterprise Server 10 (i586)
    VERSION = 10
    $ /home/lsc/sqldeveloper/sqldeveloper
    Oracle SQL Developer 1.0
    Copyright (c) 2005 Oracle Corporation.  All Rights Reserved.
    Working directory is /home/lsc/sqldeveloper/jdev/bin
    Assert: Initializing.. [email protected]
    Assert: Unknown Node:8: USER
    Assert: Unknown Node:8: SHARED QUERIES
    Assert: Unknown Node:8: TABLE EDITORS
    Assert: Unknown Node:8: VIEWS
    Assert: Unknown Node:8: MVIEWS
    Assert: Unknown Node:8: SYNONYM
    Assert: Unknown Node:8: SEQ
    Assert: Unknown Node:8: Recycle Bin
    Assert: Unknown Node:8: DB Link
    Assert: Unknown Node:8: MVIEW LOG
    Assert: Unknown Node:8: PLSQL
    Assert: Unknown Node:8: TRigger
    Assert: Unknown Node:8: INDEX
    Assert: SQLView initedAssert: Folder:Unsupported node in report.xml:#text
    Assert: Folder:Unsupported node in report.xml:#text
    Assert: Folder:Unsupported node in report.xml:#text
    Assert: Folder:Unsupported node in report.xml:#text
    Assert: Folder:Unsupported node in report.xml:#text
    Assert: Folder:Unsupported node in report.xml:#text
    Assert: Folder:Unsupported node in report.xml:#text
    Assert: Folder:Unsupported node in report.xml:#textexpand "connections "
    expand "LSC02"
    expand "Tables"
    select "EMP"
    right-click EMP
    chose EXPORT--SQL INSERT
    Format=INSERT Output=File TABLE=EMP File=/home/lsc/EMP.sql Columns=ALL
    Click apply
    $ cat EMP.sql
    -- INSERTING into EMP
    Insert into "EMP" ("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7369,'SMITH','CLERK',7902,to_date('1980-12-17','DD-MON-RR'),800,null,20);
    Insert into "EMP" ("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7499,'ALLEN','SALESMAN',7698,to_date('1981-02-20','DD-MON-RR'),1600,300,30);
    Insert into "EMP" ("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7521,'WARD','SALESMAN',7698,to_date('1981-02-22','DD-MON-RR'),1250,500,30);
    Insert into "EMP" ("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7566,'JONES','MANAGER',7839,to_date('1981-04-02','DD-MON-RR'),2975,null,20);
    Insert into "EMP" ("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7654,'MARTIN','SALESMAN',7698,to_date('1981-09-28','DD-MON-RR'),1250,1400,30);
    Insert into "EMP" ("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7698,'BLAKE','MANAGER',7839,to_date('1981-05-01','DD-MON-RR'),2850,null,30);
    Insert into "EMP" ("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7782,'CLARK','MANAGER',7839,to_date('1981-06-09','DD-MON-RR'),2450,null,10);
    Insert into "EMP" ("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7788,'SCOTT','ANALYST',7566,to_date('1987-04-19','DD-MON-RR'),3800,null,20);
    Insert into "EMP" ("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7839,'KING','PRESIDENT',null,to_date('1981-11-17','DD-MON-RR'),5000,null,10);
    Insert into "EMP" ("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7844,'TURNER','SALESMAN',7698,to_date('1981-09-08','DD-MON-RR'),1500,0,30);
    Insert into "EMP" ("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7876,'ADAMS','CLERK',7788,to_date('1987-05-23','DD-MON-RR'),1100,null,20);
    Insert into "EMP" ("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7900,'JAMES','CLERK',7698,to_date('1981-12-03','DD-MON-RR'),950,null,30);
    Insert into "EMP" ("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7902,'FORD','ANALYST',7566,to_date('1981-12-03','DD-MON-RR'),3000,null,20);
    Insert into "EMP" ("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7934,'MILLER','CLERK',7782,to_date('1982-01-23','DD-MON-RR'),1300,null,10);

  • Generate SQL Insert Statements

    Hello,
    I am testing generating insert statements for which I have a function which will return a sql statement.
    This sql statement when I execute would results as sql insert statements.
    What I am trying to acheive through a procedure is when I execute function, the result I would like to execute automatically and then the second sql I would like to store to a control file or sql file.
    How can I acheive this?
    Any help is very helpful
    Regards
    Edited by: user20090209 on Aug 20, 2009 11:34 AM

    Here is the function to generate sql
    CREATE OR REPLACE function insert_sql(v_table_name varchar2)
    return varchar2 as
    b_found boolean := false;
    v varchar2(32000);
    v1 varchar2(32000);
    v2 varchar2(32000);
    begin
    for s in (
    select *
    from all_tables
    where table_name=upper(v_table_name)
    --and owner=upper(v_owner)
    ) loop
    b_found := true;
    for ss in (
    select *
    from all_tab_columns
    where table_name = s.table_name
    order by column_id
    ) loop
    if ss.data_type='NUMBER' then
    v1:=v1||','||ss.column_name;
    v2:=v2||',''''''||to_char('||ss.column_name||')||''''''';
    end if;
    if ss.data_type in ('VARCHAR2','CHAR') then
    v1:=v1||','||ss.column_name;
    v2:=v2||',''''''||replace(replace('||ss.column_name||','''''''',''''''''''''),''&'','''')||''''''';
    end if;
    if ss.data_type='DATE' then
    v1:=v1||','||ss.column_name;
    v2:=v2||',to_date(''''''||to_char('||ss.column_name||',''dd.mm.yyyy hh:mi:ss'')||'''''',''''dd.mm.yyyy hh:mi:ss'''')';
    end if;
    end loop;
    v:='select ''insert into '||s.table_name||' (';
    v:=v||substr(v1,2,9999)||') '||chr(10)||' values ('||substr(v2,2,9999)||'); '' txt from '||s.table_name;
    end loop;
    if not b_found then
    v:='- Table ' || v_table_name || ' not found';
    else
    v:=v;
    end if;
    return v;
    end;
    /And I am calling like
    CREATE OR REPLACE PROCEDURE test_gen_script_exec IS
    type v_ref_cur is REF CURSOR;
    v_ref_cur_var v_ref_cur;
    v_temp_sql VARCHAR2(4000);
    v_sql varchar2(4000);
    begin
    v_sql := insert_sql('table_name');--change here
    open v_ref_cur_var for v_sql;
    loop
    fetch v_ref_cur_var into v_temp_sql;
    exit when v_ref_cur_var%notfound;
    execute immediate v_temp_sql;
    end loop;
    close v_ref_cur_var;
    end;
    /Edited by: user20090209 on Aug 20, 2009 1:24 PM

Maybe you are looking for

  • How to export Tables along with Data and also Tables without data

    Hi All, I have a strange situation here. I have a 2 existing schema's under one database. Now the client wants to have 4 more schema's to incorporate the new branches of his company. I want to know whether is it possible for me to run an expdp comman

  • Printing planned order in REM

    Hi GURUS, please advise what settings are required to print a planned order shop floor papers in REM? THANK YOU.

  • How to generate complex reports with JHeadStart?

    I have data from a DataSourceSet process in the infoTable (I use BC4J 9.0.3.10.7, JHeadStart 9.0.3.58, Oracle MVC R.Candidate 2.0, UIX 2.1.9).I need to generate a report with this data in a UIX Table. Actually, I show the data as retrieved from the V

  • Caching of Database Access Objects possible?

    I am working on a web application. I am using Struts for the presentation layer. Also I am using DAO pattern for Database layer. My doubt is about creating instance of DAO's. I am created a DAO Factory which can create instances of DAO's. Whether I c

  • Fan never comes on

    The fan on my Powerbook G4/167mhz never comes on except when a CD or DVD is initially inserted or when it is accessed. Is there a way to turn the fan on manually? And what is the normal/good temperature range for the Powerbook? Also, when a disk is i