Update Statement Works Differently on Two Different Systems

I write the code
Data:  it_eaus like eaus occurs 0 with header line,
        wa_eaus type eaus.
select * from eaus into table it_eaus where auszbeleg = '000000000001'  and storausz = 'X'.
if sy-subrc = 0 .
wa_eaus-aedat = ''.
wa_eaus-aenam = ''.
wa_eaus-storausz = ''.
modify it_eaus from wa_eaus transporting aedat aenam storausz where auszbeleg = '000000000001'.
update eaus from table it_eaus.
endif.
Data:  it_eausv like eausv occurs 0 with header line,
        wa_eausv type eausv.
select * from eausv into table it_eausv where auszbeleg = '000000000001'  and storausz = 'X'.
if sy-subrc = 0 .
wa_eausv-aedat = ''.
wa_eausv-aenam = ''.
wa_eausv-storausz = ''.
modify it_eausv from wa_eausv transporting aedat aenam storausz where auszbeleg = '000000000001'.
update eausv from table it_eausv.
endif.
In One system Update Statement Updates the EAUS Table after Update Statement and
in other system Update Statement Updates the EAUS Table after completion of all the code.
Will you please help me on that?

Hi Prashant,
Thanks for your reply
But the issue is the above code is working in one system and update the table after
staement 
update eaus from table it_eaus.
But in another system it is not updated at this system it updates the record after completion on program.

Similar Messages

  • How update statement works

    Hi all,
    can you guys help me in understanding how an update statement works in oracle...
    Thanks
    Rajesh

    i mean what happens in background in oracle server
    when i fire a update statement.The oracle server puts the old data (i.e before updation) into the RBS and then updates the rows with the new data.
    Regards
    Amit Raghuvanshi

  • Update statement  works in oracle RAC

    Hi Experts,
    How the update statement works in oracle RAC environment.
    And why we need a separate redo for each instance what will happen if we wont give.
    Regrds
    Suneel

    user1175505 wrote:
    Hi Experts,
    How the update statement works in oracle RAC environment.UPDATE does not know or care if it on RAC or single instance.
    And why we need a separate redo for each instance what will happen if we wont give.you can't start Oracle DB without any REDO.
    Handle:     user1175505
    Status Level:     Newbie
    Registered:     Jun 9, 2010
    Total Posts:     610
    Total Questions:     249 (182 unresolved)
    WOW! Why do you waste your time here when you rarely get answers to your questions?

  • Question about an UPDATE statement (Answer conflicts in two Q & A papers)

    I need to know the correct answer to the below question as two exam papers provide different answers?
    Q- Which two steps are performed the first time any UPDATE statement is issued after the Instance is started? (Choose any two)
    A - Creating the parse tree of the statement
    B - Writing the modified data blocks to the data files
    C - Writing the modified data to the archived redo log files
    D - Updating the control file to indicate the most recent checkpoint
    E - Updating the data file header to indicate the most recent checkpoint
    F- Reading the blocks to database buffer cache if they are not already there
    Please help, as im preparing to give exams and such conflicts are making me even more confused.
    Thanks!

    Well, the order would be A, F, B, C and I'm not sure on the checkpoint info. Archived Redo would be written AFTER online Redo.

  • How a update statement works internally in oracle

    Hi,
    I just wanted to know when a user issues a update (any DML) statement, what are all the steps involved?
    Like when user updated some statement, the modified block goes to the undo tablespace and new data will be stored in the user PGA and when user issues a commit statement.Does it delinked it from the uno tablespace and lgwr flushed the block to the redo logfile(does the lgwr also flushed the uncommited changes to the logfile as datafile stores the committed as well as uncomitted data).Can anybody suggest me how all the things work internally?

    Hi,
    Many of the people post across the same questions and lot of discussions carried out. You can you answer straight from Oracle Docs.
    Any how refer to the following below links
    http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:288016031632
    Update Statement-10G
    - Pavan kumar N

  • What is the difference between the two update statements

    Hi Everyone
    Along with the emp table in scott kindly insert the to ins statement into emp.
    Insert into EMP
    (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
    Values
    (8000, 'JAMES', 'CLERK', 7698, sysdate,
    1000, 10, 30);
    Insert into EMP
    (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
    Values
    (8001, 'JAMES', 'CLERK', 7698, sysdate,
    1000, 10, 30);
    Consider the below two update statements.
    1) update emp a
    set ename=(select loc
    from dept b
    where a.deptno=b.deptno)
    where exists(select loc
    from dept b
    where a.deptno=b.deptno)
    2) update emp a
    set ename=(select loc
    from dept b
    where a.deptno=b.deptno)
    What is the difference between the 1st and 2nd update statement? what is the use of exists clause in the first update statement ? Can u suggest in what case will the two update statements provide different results.
    Thanks in advance

    Second one updates all records in emp. If there is no record in dept then ename will be updated to null.
    The first one only updates records in emp where a record in dept exists. It does not matter whether loc is non-null in dept or not. In an EXISTS query it doesn't matter if you do SELECT *, SELECT LOC, SELECT 1, SELECT NULL - Oracle just checks for existence.
    So most often an update like the first one is meant to improve performance by only updating those emp records that are needed. Usually that is a good idea.
    For this very specific case where all employees do belong to a department, all records in emp will be updated anyway, so for this specific case it actually makes worse performance because it does work to make an unnecessary check.
    Normally the EXISTS query is good for performance, but always figure out if they are needed first ;-)

  • Update statement takes too long to run

    Hello,
    I am running this simple update statement, but it takes too long to run. It was running for 16 hours and then I cancelled it. It was not even finished. The destination table that I am updating has 2.6 million records, but I am only updating 206K records. If add ROWNUM <20 to the update statement works just fine and updates the right column with the right information. Do you have any ideas what could be wrong in my update statement? I am also using a DB link since CAP.ESS_LOOKUP table resides in different db from the destination table. We are running 11g Oracle Db.
    UPDATE DEV_OCS.DOCMETA IPM
    SET IPM.XIPM_APP_2_17 = (SELECT DISTINCT LKP.DOC_STATUS
    FROM [email protected] LKP
    WHERE LKP.DOC_NUM = IPM.XIPM_APP_2_1 AND
    IPM.XIPMSYS_APP_ID = 2
    WHERE
    IPM.XIPMSYS_APP_ID = 2;
    Thanks,
    Ilya

    matthew_morris wrote:
    In the first SQL, the SELECT against the remote table was a correlated subquery. the 'WHERE LKP.DOC_NUM = IPM.XIPM_APP_2_1 AND IPM.XIPMSYS_APP_ID = 2" means that the subquery had to run once for each row of DEV_OCS.DOCMETA being evaluated. This might have meant thousands of iterations, meaning a great deal of network traffic (not to mention each performing a DISTINCT operation). Queries where the data is split between two or more databases are much more expensive than queries using only tables in a single database.Sorry to disappoint you again, but with clause by itself doesn't prevent from "subquery had to run once for each row of DEV_OCS.DOCMETA being evaluated". For example:
    {code}
    SQL> set linesize 132
    SQL> explain plan for
    2 update emp e
    3 set deptno = (select t.deptno from dept@sol10 t where e.deptno = t.deptno)
    4 /
    Explained.
    SQL> @?\rdbms\admin\utlxpls
    PLAN_TABLE_OUTPUT
    Plan hash value: 3247731149
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Inst |IN-OUT|
    | 0 | UPDATE STATEMENT | | 14 | 42 | 17 (83)| 00:00:01 | | |
    | 1 | UPDATE | EMP | | | | | | |
    | 2 | TABLE ACCESS FULL| EMP | 14 | 42 | 3 (0)| 00:00:01 | | |
    | 3 | REMOTE | DEPT | 1 | 13 | 0 (0)| 00:00:01 | SOL10 | R->S |
    PLAN_TABLE_OUTPUT
    Remote SQL Information (identified by operation id):
    3 - SELECT "DEPTNO" FROM "DEPT" "T" WHERE "DEPTNO"=:1 (accessing 'SOL10' )
    16 rows selected.
    SQL> explain plan for
    2 update emp e
    3 set deptno = (with t as (select * from dept@sol10) select t.deptno from t where e.deptno = t.deptno)
    4 /
    Explained.
    SQL> @?\rdbms\admin\utlxpls
    PLAN_TABLE_OUTPUT
    Plan hash value: 3247731149
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Inst |IN-OUT|
    | 0 | UPDATE STATEMENT | | 14 | 42 | 17 (83)| 00:00:01 | | |
    | 1 | UPDATE | EMP | | | | | | |
    | 2 | TABLE ACCESS FULL| EMP | 14 | 42 | 3 (0)| 00:00:01 | | |
    | 3 | REMOTE | DEPT | 1 | 13 | 0 (0)| 00:00:01 | SOL10 | R->S |
    PLAN_TABLE_OUTPUT
    Remote SQL Information (identified by operation id):
    3 - SELECT "DEPTNO" FROM "DEPT" "DEPT" WHERE "DEPTNO"=:1 (accessing 'SOL10' )
    16 rows selected.
    SQL>
    {code}
    As you can see, WITH clause by itself guaranties nothing. We must force optimizer to materialize it:
    {code}
    SQL> explain plan for
    2 update emp e
    3 set deptno = (with t as (select /*+ materialize */ * from dept@sol10) select t.deptno from t where e.deptno = t.deptno
    4 /
    Explained.
    SQL> @?\rdbms\admin\utlxpls
    PLAN_TABLE_OUTPUT
    Plan hash value: 3568118945
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Inst |IN-OUT|
    | 0 | UPDATE STATEMENT | | 14 | 42 | 87 (17)| 00:00:02 | | |
    | 1 | UPDATE | EMP | | | | | | |
    | 2 | TABLE ACCESS FULL | EMP | 14 | 42 | 3 (0)| 00:00:01 | | |
    | 3 | TEMP TABLE TRANSFORMATION | | | | | | | |
    | 4 | LOAD AS SELECT | SYS_TEMP_0FD9D6603_1CEEEBC | | | | | | |
    | 5 | REMOTE | DEPT | 4 | 80 | 3 (0)| 00:00:01 | SOL10 | R->S |
    PLAN_TABLE_OUTPUT
    |* 6 | VIEW | | 4 | 52 | 2 (0)| 00:00:01 | | |
    | 7 | TABLE ACCESS FULL | SYS_TEMP_0FD9D6603_1CEEEBC | 4 | 80 | 2 (0)| 00:00:01 | | |
    Predicate Information (identified by operation id):
    6 - filter("T"."DEPTNO"=:B1)
    Remote SQL Information (identified by operation id):
    PLAN_TABLE_OUTPUT
    5 - SELECT "DEPTNO","DNAME","LOC" FROM "DEPT" "DEPT" (accessing 'SOL10' )
    25 rows selected.
    SQL>
    {code}
    I do know hint materialize is not documented, but I don't know any other way besides splitting statement in two to materialize it.
    SY.

  • HOW UPDATE INTERNAL WORKS

    Hi,
    My question is related to the architecture. I don't find much information on google.
    The question is how Oracle update statement works on the background? My friend and myself had a debate that update works internally as delete and insert statements. It means when you run update, first it deletes the row and insert the row with new update values.
    But I don't agree his view on this.
    Can anyone of you clarify how oracle update statement works internally? Thanks in advance..
    Regards,
    Robin

    >
    It means when you run update, first it deletes the row and insert the row with new update values.
    But I don't agree his view on this.
    >
    But you didn't say what your view is!
    Generally speaking this doesn't happen unless the ROWID is changing. This can happen for an update of the partition key of a partitioned table that moves the row to a different partition (and maybe even a different tablespace and file. For that case Oracle WILL delete the record and reinsert it in the new location.
    Rows are stored in row pieces. So when a row is updated then one or more pieces have to be updated. Depending on which row piece is affected and what, if anything is in the block after that row piece the row piece may need to be moved (rewritten) to another location in the block or even to another block.
    See How Table Data Is Stored in the Database Concepts doc
    http://docs.oracle.com/cd/B28359_01/server.111/b28318/schema.htm

  • UPDATE statement and database locks

    Hello everybody,
    I have a problem related to an UPDATE statement. There are two applications, let say A and B.
    Application A executes:
    update some_table
    set some_field = 'value_A',
    where pk_field=1
    no commit!
    Application B executes:
    update some_table
    set some_field = 'value_B',
    where pk_field=1
    Now application B is locked and wait until application A executes a commit.
    THIS IS A PROBLEM!
    I know one way to solve this problem:
    Both applications should execute "select for update nowait" before
    updating a row.
    Is there any other solutions? Something like "update nowait"?
    thanks in advance
    Dmitri Geller
    DGeller (at) lhsgroup dot com

    The major difference between my approach and standard "select for update nowait + update"
    approach, is more information for user : who blocked his object, and when. Else , i don't see the
    differences. Yep. And a Boieng 747 and bicycle is not much a difference as both are used for transporting people.
    Are you against select + nowait ?No, I am for understanding transaction isolation, serialisation, ACID principles, the differences between optimistic and pessimitic locking and so on
    You wrote "THE LOCK is good". OK, and what about time ?The two has NOTHING to do with one another. Not a single thing.
    In real industrial systems the users cannot wait more then few seconds. But the transactions can
    run much more. It isn't acceptable.If by implication you mean that I'm in the .edu environment that does not deal with "real corporate systems", I'm not.
    I recently wrote a special replicator in PL/SQL. It makes extensive use of customised parallel processing (does not use PQ as it also support Oracle SE). It hits very busy tables (with far over a 1000 rows/sec transaction rate). I did not have to hack my own form of locking. Performance is excellent.
    Why? Not because I am a brilliant Linus-like programming genius. Simply because I used Oracle as it has been designed to use.
    Can you claim the same? Can you show me the Oracle reference material that states that you need to write your own Lock Manager? Can you show me expert opinion from recognised inviduals such as Tom Kyte, Jonathan Lewis, Gary Milsap and others that state that Oracle's concurrency controls need to be hacked like you did in order to make it work?
    Can you provide me with any sound technical evidence to backup your claims that your method is better than what Oracle has built into the core of the database?

  • UPDATE statement in Receiver JDBC adapter

    Hi all,
    I would like to use UPDATE statement in my receiver JDBC adapter and would like to know how this UPDATE statement works in following case.
    1) If i have 10 records to be updated in database, whether Commit happens at the end of all 10 records updation OR it will be for every record update?
    Regards

    Hi,
    Then let me construct my query this way...
    i have 10 records that needs to be updated to database, say For Ex: 7 records are updated successfully and 8th record has issue in updating the table.
    In this case i would like to ROLLBACK entire 10 records with out committing any thing.
    So if i use your 2nd option, it should perform as i expected right?
    Regards

  • Update statement help

    Hello folks,
    I need some help/advise on an UPDATE statement.
    I have two tables. I need to join these tables and update a field in table1 with a field from table2.
    Please see the attached jpg file.
    The first 3 coloumns are from table1 and last 2 columns in the picture are from table2.
    I want to update NEXT_RATE_RESET_ADJ_P field (from table1) with NEXT_RESET_DATE_ADJUSTED field (from table2). I want to join them between table1.DEAL_LEG_ID_P and table2.DEAL_LEG_ID.
    I have never written update statement with a join in it.
    Any help is greatly appreciated.

    UPDATE EMP1
    SET EMP1.SAL =
    (SELECT EMP2.SAL
    FROM EMP2
    WHERE EMP1.EMPNO = EMP2.EMPNO
    AND EMP1.DEPTNO = EMP2.DEPTNO)
    WHERE EMP1.JOB = 'SALESMAN';
    To avoid setting EMP1.SAL to NULL if there is no matching EMP2 record
    UPDATE EMP1
    SET EMP1.SAL =
    (SELECT EMP2.SAL
    FROM EMP2
    WHERE EMP1.EMPNO = EMP2.EMPNO
    AND EMP1.DEPTNO = EMP2.DEPTNO)
    WHERE EMP1.JOB = 'SALESMAN'
    AND EXISTS (SELECT NULL
    FROM EMP2
    WHERE EMP1.EMPNO = EMP2.EMPNO
    AND EMP1.DEPTNO = EMP2.DEPTNO);

  • Update statement with joins

    Hi all, consider the tables and data below
    CREATE TABLE table1 (id NUMBER, a NUMBER, b NUMBER) ;
    CREATE TABLE table2 (id NUMBER, c NUMBER, d NUMBER);
    INSERT INTO table1 VALUES(111,2,0);
    INSERT INTO table1 VALUES(111,1,2);
    INSERT INTO table1 VALUES(111,1,3);
    INSERT INTO table1 VALUES(222,1,3);
    INSERT INTO table2 VALUES(111,5,8);
    INSERT INTO table2 VALUES(222,6,7);
    what i want to do is write a UPDATE STATEMENT that joins the two tables BY id
    and update table1 rows. i want to include the following CASE statement
    UPDATE COLUMN a intable1 according to this logic
    case
    WHEN b >0
    THEN nvl(c,b)
    ELSE
    d
    END
    so table1 after the update should look like this
    id    a   b
    111   8   0
    111   5   2
    111   5   3
    222   6   3can somebody help write a update statement that update table1 according to case statement and joins both tables to get the values necessary? thanks

    Hooray for sample tables!
    SQL> alter table table2 add constraint table2_pk primary key (id);
    Table altered.
    SQL> update
      2     (select t1.a
      3            ,case when t1.b > 0 then nvl(t2.c, t1.b)
      4                  else t2.d
      5             end new_value
      6      from   table1 t1
      7      join   table2 t2
      8             on t1.id = t2.id
      9     )
    10  set a = new_value;
    4 rows updated.
    SQL> select * from table1;
                      ID                    A                    B
                     111                    8                    0
                     111                    5                    2
                     111                    5                    3
                     222                    6                    3

  • I have purchased my software cs5 but need to install it on a new machine with a different OS, will it work, it's a 2013 system. I am currently on a 10.6.8 updating to 10.9.4

    Can someone answer this?
    I have purchased my software cs5 but need to install it on a new machine with a different OS, will it work, it's a 2013 system. I am currently on a 10.6.8 updating to 10.9.4

    you can check other users experience here, http://roaringapps.com/apps:table

  • Two days ago, I lost a bunch of my contacts, appointments on my calendar, and my mail is working differently on iPhone! What happened? I didn't change anything! This has happened to other people I know too. How do I get my stuff back?!

    Two days ago, I lost a bunch of my contacts, appointments on my calendar, and my mail is working differently on iPhone! What happened? I didn't change anything! This has happened to other people I know too. How do I get my stuff back?! Did Apple change/update something? Is it an iCloud issue? HELP!

    We are itunes users just like you.
    You should transfer all purchases to your computer.  File>Devices>Transfer Purchases
    You can redownload some purchases in some countries:
    Download previous purchases from the iTunes Store - Support - Apple

  • Two SAP systems, same smartform, different print outputs

    We have two SAP systems, because of the different business areas that our company has.
    We develop a smartform with a custom style which has Gill Sans MT as default font. The smartform is printed directly into PDF format.
    On system A on all environments it works fine and we transported it to system B.
    On system B the output on PDF format comes in bold, all the characters are bold. This happens on all environments. On preview we don't see bold font but the spacing between characters is larger than expected (for example, a date is printed in two lines of a cell).
    I've checked the settings on SE73 and they are the same on both systems.
    I've also created a second style were I've taken out all bold settings. On system A, the smartform' style was changed to this new one. The changes were transported to system B, and still it prints all bold.

    Thanks for the replys. I think this is an answer to both.
    Checked SPAD and differences  are:
    1. output device LOCL:
    System A:     
    - Device Type: ZSAPWIN
    - Host Spool Access Method: F
    System B:
    - Device Type: SAPWIN
    - Host Spool Access Method: G
    2. Device Type:
    System A:
    - has two custom formats (none used on this specific smartform)

Maybe you are looking for

  • Problem in Flex to get XML result from web services

    Hi all I am struggling a proplem for a whole day, i hope somebody can help. I am trying to get the list file of files located on the server, so i use flex to access a ASP.NET ASMX web services, that returns all the file names in a folder. I can see t

  • For Copy/Paste ctrl+c/ctrl+v is not working

    I have a text box in flex and i want to copy the text from that text box through ctrl+c but it is not performing.. Plz tell me how can i copy/paste through ctrl+c/ctrl+v

  • Recovery in media center m7580n code purple

    I ran my media center hdd on an msi mobo after my original boards pci x slot went bad, microsoft gave me a new key. I did not like msi board and before I changed it I tried a full recovery, message came up configuration error code purple, so I put it

  • Passing variables on the URL

    Is it possibe to pass variables into edge from the URL? I can see a scenario where you could send people a link like site.com/myedgeanimation/?=bob or site.com/myedgeanimation/?=alice and BOB and ALICE could each get a personalized animation.

  • JSF Portlet w/o PageFlow?

    I've run through a tutorial on JSF with PageFlow (Beehive) and I just don't see the value of it. Native JSF is what suits my project the best. It seems like the JSF Portlet is assuming you're going to be using PageFlows, because it puts the PageFlowA