Delete a row in a table

Hello

My requirement in the OPS is to remove a line in a table if the line has no mapping to another table.
If there is a mapping then the line should not be deleted.

I created two VO and formed two rows.
While using my code if there is a mapping for a line of tables, then the line is not deleted.

But I want to DELETE when there is no reference to the second table.

The Code used in AM is

* public void deleteOU (String ReferenceId1) {*}
OAViewObject VOB = getBLTARBOUMAPEOView1 ();
Line row = VOB.getCurrentRow ();
Boolean flag = false;

* while(Row!=null) {*}
OAViewObject VOB1 = getBLTINVMAPVO1 ();
Line row1 = VOB1.first ();

* while(row1!=null) {*}
* if ((row1.getAttribute("OuReffId").equals (ReferenceId1))) {*}
flag = true;
throw new OAException ("Unable to delete because the inventory is assigned to this operating Unit", OAException.ERROR);
*}*
* otherwise {*}
Row1 = VOB1. Next();
*}*
*}*
*}*

* if(flag==false) {*}
System.out.println ("Remove");
Row.Remove ();
*}*
*}*



Ex:
----
Table1:
---------
ReferenceId OR
1 ABC
DEF 2

Table2
---------
ReferenceId OUID
2 567

In the example of my code should not allow to remove the 2nd ReferenceId in table 1.


Please advice.

Thanks in advance,
Roselyne

Compare VO using iterators. For example code, see link below

Problem of VORowImpl - compare two lists of LINE]

-Anand

Tags: Oracle Applications

Similar Questions

  • LOV in richeTableau resets the value after the deletion of rows from the table

    Hello. I'm on 11g R2

    I have a table with columns in the box and a button in the toolbar that removes the lines checked

    I have build it based on the following article in her string code

    http://www.Oracle.com/technetwork/developer-tools/ADF/learnmore/index-101235.html


    When I run the "delete" button I execute the following code (taken as is article)


    public void deleteSelectedRows() {}

    create a second line, the value do not affect all lines

    used in ADF

    Set of rows duplicateRowSet = this.createRowSet ("duplicateRowSet");

    first row to avoid "the attempt to access the value of lines."

    exception line was dead.

    duplicateRowSet.first ();

    retrieve the current row of the table for after

    re-running the VO

    Line currentRow = this.getCurrentRow ();

    Boolean currentRowDeleted = false;

    get all rows that have the transoent attribute

    "MarkForDelete' set to true

    Row [] rowsToDelete =

    duplicateRowSet.getFilteredRows ("MarkedForDelete", true);

    If (rowsToDelete.length > 0) {}

    run only throizgh this code, if there is something to

    delete

    for (line rw: rowsToDelete) {}

    If the row is marked as the current in VO, ts value

    Boolean flag

    If (rw.getKey () .equals (currentRow.getKey ())) {}

    currentRowDeleted = true;

    }

    remove the line - do not yet commit

    RW. Remove();

    }

    rerun VO

    this.executeQuery ();

    reset the current line if it has not been removed

    If (! currentRowDeleted) {}

    this.setCurrentRow (currentRow);

    }

    duplicateRowSet.closeRowSet ();

    }

    }

    "MarkedForDelete" is a transient attribute used to mark the line delete

    The lines are removed very well.

    The problem is with lines that I do not delete.

    For example I LOV column. I chose the value LOV in a few lines, and after that choose to delete several lines (not the same lines where I modified the LOV) but some other lines.

    After I click "delete", the lines that I marked to remove deleted indeed, but the value of the LOV in other rows (I have not scored for delete) are disabled.

    How to preserve value LOV so it will remain also after I deleted some lines?

    P.S. I've tried autosubmit = "true" - it did not help

    It is expected because I see that you rerun the query.

    Once you re - run, it retrieves from the database again. Thus, your values are lost because they are not posted.

    I don't think that run query is necessary, try to have a programmatic part trigger on the table after you remove all of the lines.

    Thank you

    Alisson.

  • What happens when you insert/modify/delete a row in a table - concepts

    I am trying to understand the below concepts regarding the internal concepts (for example, undo and redo)

    (1) what is happening in the database when you insert a row in a table?

    (2) what is happening in the database when you update a row in a table?

    (3) what is happening in the database when you remove one line in the table?

    I have read the oracle documentation and mistook the redo and undo behavior. It would be great if someone explains the concept in a simple way.  I'm a novice programmer to understand database concepts. Any help would be much appreciated.

    INSERTIONS and deletions are handled the same way.  The cancellation of an INSERT is a DELETE.   The cancellation of a REMOVAL is an INSERT.

    Therefore, the generation 'Cancel' for INSERTION is less than that of a DELETION (because the cancellation of a DELETION is to reinsert the line - the value of each column in the row must be captured in the undo).

    If restore you an INSERT, then Oracle executes effectively a DELETE tablename WHERE rowid =... rowid_that_was_inserted.  A cancellation for an INSERTION is 'rapid '.

    If restore you a DELETION, then Oracle executes effectively an INSERT tablename values (col1, col2, coln).  The cancellation of a DELETION takes more time because Oracle would have to re-enter the values.

    Remember that Oracle also captures the redo to undo it (and do it again for the price drop if you do a restore).

    Hemant K Chitae

  • Deletion of rows in a table while the filter condition is in another table

    Hi all

    I am facing a problem of deletion of a row in a table where the condition is in the other table. To ealaborate the scenario further Let's say I have two tables T1 (the transactions table) and T2 (Master Table). I want to delete a record in the table T1 by checking conditions lies in table T2.
    I tried with the query below, but this request deletion of records in the table two.

    DELETE FROM (SELECT * high INNER JOIN T2 on T1 page TP)
    THE top. TID = TP. TID
    WHERE at the top. DEAL_SITE_ID = inputparameter1
    AND (TP. SEGMENT <>inputparameter2 OR tp.segment is not null));

    Here the record is deleted in the two tables, but I don't want to delete the data in my table master i.e table T2.

    Any help would be much appreciated. Thanks in advance.

    Kind regards
    Delphine
    SQL> select *
      2   from the_table;
    
    X          Y
    ---------- ----------
    AA         a
    BB         a
    CC         a
    AA         b
    DD         b
    
    SQL> select *
      2   from the_table_2;
    
    X          Y
    ---------- ----------
    AA         a
    BB         a
    CC         a
    
    SQL>  delete from
      2  (
      3  select *
      4  from the_table  t1 inner join the_table_2 t2
      5  on  t1.x = t2.x
      6  and t1.y = t2.y);
    
    3 rows deleted.
    
    SQL> select *
      2   from the_table;
    
    X          Y
    ---------- ----------
    AA         b
    DD         b
    
    SQL> select *
      2   from the_table_2;
    
    X          Y
    ---------- ----------
    AA         a
    BB         a
    CC         a
    
  • Delete multiple rows in the table.

    How to remove several rows in the table at the same time?

    I have a table with 10 rows.

    I have a loop for delete lines 1, 3 and 6.

    It deletes the row 1 and 3 of the Index out of Bounds exception.

    I know why this is happening.

    I'm looking for a function or something to delete several lines at once?

    Thank you

    It must be a logic error.

    For each row, you delete, you should reduce the number of indexes.

    For example

    If you want to delete lines 1, 3 and 6 of a table that contains 6 rows

    Remove row1 as Table.Row [0].instanceManager.removeInstance ();    [now how many lines will become 5]

    Remove row3 as Table.Row [1].instanceManager.removeInstance ();     [Note that index is 1 because you have already deleted a record, and the index starts at 0.

    Remove row6 as Table.Row [3].instanceManager.removeinstance ();      [already two deleted record, so 6-2-1 = 3 is your index to remove]

    You understand the logic?

    Nith

  • Delete the row in the Table by using the report link column

    Hello

    I a report advocating the rows in a table - I would like to for users to be able to delete rows in the table by clicking on the link in the column "ID". I thought about trying to call a process by using a javascript URL (as mentioned in this thread - Re: how to call PL/SQL process when you press link column ) but I don't know how to write the process so that he knows what 'ID' to remove from the table.

    Any ideas would be greatly appreciated.

    Forrest

    Forrest:

    Follow these steps

    Create an item hidden on the page P_ID named who said
    In the column link definition set the goal URL as the URL as
    JavaScript:doDelete(#ID#);
    Add this JS ito header HTML of the page

     
    

    Create a process page ' on submit ' with the code to delete the record from the table. Subordinate this process by using a "pl/sql expression" type of condtion. Will be the expression of pl/sql

    :request='DELETE';
    

    Treat code

    delete from  where pk_column=:p_id; //adjust as needed 

    Add a branch that branches off to the page

    CITY

  • Delete the row in a table

    Adding table rows works fine when I use this script: Table.Row1.instanceManager.addInstance (1);

    When users click on Delete, always, it removes the second (and shifts the rest upwards), any line, they want to remove. I have the following script to delete a table row:

    Table.Row1.instanceManager.removeInstance (1);

    What I have to change in order to remove the line that is clicked?

    Hello

    Add to that a proceeding is easy because you must specify true or false (1 or 0)

    but for deletion line is a little different, instead of this, or specify true false, you must specify which line to remove...

    If your button Delete is inside the line itself, you can use the index of the parent of the button line delete

    Table.Row1.instanceManager.removeInstance (this.parent.parent.index);

  • Deletion of rows in a Table

    Is it possible to have a button to remove lines in a static table?  Each line is different, but some lines may not be required depending on the customer and I was wondering if a static table lines can be deleted.  Help on it is very that much appreciated... Thank you.

    Surely you can remove lines of static Tables.

    The line that the user wants to delete should meet the following conditions.

    1 line to repeat for each item of data option must be selected

    2 min Count must be set to 0. (This will be deselct the option number of minutes, but do not worry)

    3. initial count must be set to 1 (otherwise the row will not appear in the form)

    Now write the code to remove the line; as shown below...

    Table1._Row2.removeInstance (0);

    I hope this can help...

    Join me on [email protected] if you need a sample for this.

    Nith

  • How to delete the row in the table of construction?

    I'm trying to choose whether to add the new values in the table or clear the table, but I think I have a mistake. The error is that the polymorphic terminal cannot accept this type of data.

    Does anyone know what I could do wrong?

    There is a built-in function that is already called point by point average. It's on the range tool. You can tell him how many points on average then they come in one at a time.

  • How to capture what oracle object delete rows in the table?

    Hi all

    I have a table in which I am storing data deleted from the main table. I have a delete on the main table statements in the various packages, now I want to capture what sql statement what package is remove rows from the table. I created the trigger to insert data into the backup table. I'm using oracle 11g.

    Please help me...

    Thanks and greetings

    Vidyasagar.B

    You can use DBMS_UTILITY.FORMAT_CALL_STACK.
    
    SQL> create table t
      2  (
      3    no integer
      4  );
    
    Table created.
    
    SQL> create table t_log
      2  (
      3    str clob
      4  );
    
    Table created.
    
    SQL> create or replace trigger t_trig before insert on t
      2  begin
      3     insert into t_log(str) values (dbms_utility.format_call_stack);
      4  end;
      5  /
    
    Trigger created.
    
    SQL> create or replace procedure p
      2  as
      3  begin
      4    insert into t (no) values (1);
      5  end;
      6  /
    
    Procedure created.
    
    SQL> create or replace package pkg
      2  as
      3     procedure run;
      4  end;
      5  /
    
    Package created.
    
    SQL> create or replace package body pkg
      2  as
      3     procedure run
      4     is
      5     begin
      6       p;
      7     end;
      8  end;
      9  /
    
    Package body created.
    
    SQL> exec pkg.run
    
    PL/SQL procedure successfully completed.
    
    SQL> select * from t_log;
    
    STR
    --------------------------------------------------------------------------------
    ----- PL/SQL Call Stack -----
      object      line  object
      handle    number  name
    3abbbc6d8         1  anonymous block
    3ad03bf88         2  KARTHICK.T_TRIG
    3a51a18a8         4  procedure KARTHICK.P
    3ac4f1508         6  package body KARTHICK.PKG
    3ac91c250         1  anonymous block
    
  • I want to delete a row in the LOV table (in the context menu of JHS - LOV) but...

    Hi all
    JDeveloper: Studio Edition Version 11.1.2.2.0
    Jheadstart: 11.1.2.1.28
    I want to delete a row in the LOV table (in the context menu of JHS - LOV), but it removes the first line...
    Help, please

    Can,

    I was able to reporduce, this is a bug in LovPageBean.
    We will fix this with the next release, you can apply the following work around:

    -create a subclass of LovPageBean

    -replace the selectionListener following method:

    public void selectionListener (org.apache.myfaces.trinidad.event.SelectionEvent selectionEvent)
    {
    Object oldRowKey is getLovTable () .getRowKey ();.
    VR;
    {
    The selectedRows list = new ArrayList();
    setSelectedRowKeySet (getLovTable () .getSelectedRowKeys ());
    Iterator it = getSelectedRowKeySet () .iterator ();
    While (it.hasNext ())
    {
    List keyList = it.next () (list).
    getLovTable () .setRowKey (keyList);
    JUCtrlHierNodeBinding selectedRowData is getLovTable () .getRowData () (JUCtrlHierNodeBinding);.
    Line = selectedRowData.getRow ();
    If (! isMultiSelect())
    {
    make the current line, so removing line will operate in page LOV
    selectedRowData.getIteratorBinding () .getRowSetIterator () .getRowSet () .setCurrentRow (row);
    }
    selectedRows.add (new RowData (row));
    }
    If (isMultiSelect())
    {
    getLovItemBean () .setSelectedRowDataList (selectedRows);
    }
    on the other
    {
    If (selectedRows.size () > 0)
    {
    getLovItemBean () .setSelectedRowData (selectedRows.get (0));
    }
    on the other
    {
    getLovItemBean () .setSelectedRowData (null);
    }
    }
    }
    Finally
    {
    restore old line key
    getLovTable () .setRowKey (oldRowKey);
    }
    }

    -Conduct a custom template for the LovPageBean.vm to use your subclass.

    Steven Davelaar,
    Jheadstart team.

  • Best way to update the individual rows of a Table?

    I took a quick glance at a few examples, but did not get a clarification on this.  I am looking to have something close to a listbox control or the table to where I can update just one column of values to line a 1 time per second pace.  I'm looking to display our acquisition of data values in a table or a listbox control.  The single list box seemed to work well for that, but I couldn't use the row headers to list the names of channel beside the channel values.  I thought to link the values of cursor in two areas of list to do this, but did not find any info on it for the single list box.

    I have a few questions:

    (1) I have a 1 d table to where I want to use this data to constantly update the first column (with a multitude of lines) of a table.  I'm looking for the best route to not take too much time for treatment by doing this.

    What is the best way to update the individual rows of a table?   Invoke the node "Value of the cell value"... or is there another method?

    (2) why is that, after each iteration else, row values are deleted?

    Also, for adding additional channels originally arrray... it is better to use the 'Array' subset then the function "Construct the table" or function "Subset of the table" and "insert table"?

    See the attached example.

    Thank you.

    Jeff· Þ· Bohrer says:

    (2) why is that, after each iteration else, row values are deleted?

    Classic race condition.  dump the loop and node-p and just wire the 2D table on the terminal Board. !

    I don't see the race condition.  What I see is the table once the last element has been written for it all run the oil.  I saw looked it with point culminating performance on.

    But I agree entirely with writing to the Terminal.  It is a 1 d array, so you will need to use an array of generation and convert a 2D array in order so that he could write correctly.

  • Hide columns in Table B, based on values LOV in another row of the table:

    Hello

    Jdev 12.2.1.0

    I have two tables A and B and I hide columns b based on the value of row of table A LOV. For example, I have a line in A table that has a column with the x, y, z values lov. Now, if I select the row in the table has and change the LOV to x, I had to hide some of the columns in the table (B) is there a way to get this feature? Any help would be appreciated.

    Thank you

    Assume:

    1 table a call "DepartmentId" column this column has LOV.

    B 2-table a column "ColumnInB" this column will be visible depending on the value of "DepartmentId".

    Try to do the following:

    1 - from data controls, drag "DepartmentId" attribute and drop it on the page as inputText then together make this inputText to false (you can remove it, but don't forget the corresponding binding in pageDef. not deleted).

    2. copy the value of the inputText which will be as "#{bindings." DepartmentId.inputValue}"and go to the"ColumnInB"column and visible property beyond the copied value.

    3 - the ColumnInB visible will be the condition as:

    4-set DepartmentId autoSubmit = 'true '.

    5-set table partialTriggers table B has id and id of DepartmentId LOV

  • Rows in the table LT until merger of all workspaces

    Database 11.2.0.4

    In our environment, we ran a few important updates in the workspaces and then merged these live workspaces.  Up to 25% of the data has been updated in those workspaces.  When these update batch workspaces have been created, previous workspaces exist who are not yet ready for the merger.

    I noticed that the underlying tables of the LT now have about 25% more lines than the live view.  We have now discovered that dbms_wm.refreshWorkspace works really poor.  This statement is used to take seconds or minutes to the maximum, but can now take half an hour or more.

    We recorded a support with Oracle request and provided details of the plan to see if we can get some resolution/advice explaining.

    In the meantime, I have a question for the forum help my understanding of the works of the Manager of the workspace.

    In the example below, I have table "wm_test_table", "test_workspace1" and "test_workspace2".  In "test_workspace1", I update all rows in the table - the table LT now has 2 rows for each record.  I merge 'test_workspace1' live and LT still has 2 rows for each record.  The other lines are not removed until "test_workspace2" is merged and removed.


    SQL> -- Create a test table
    SQL> create table wm_test_table (
      2     id integer primary key,
      3     name varchar2(100));
    
    
    Table created.
    
    
    SQL> -- Insert 1,000 rows
    SQL> insert into wm_test_table (
      2     select rownum, 'before'
      3     from dual
      4     connect by level <= 1000);
    
    
    1000 rows created.
    
    
    SQL> commit;
    
    
    Commit complete.
    
    
    SQL> -- Version enable it
    SQL> execute dbms_wm.enableVersioning('wm_test_table');
    
    
    PL/SQL procedure successfully completed.
    
    
    SQL> -- Create two workspaces
    SQL> execute dbms_wm.createWorkspace('test_workspace1');
    
    
    PL/SQL procedure successfully completed.
    
    
    SQL> execute dbms_wm.createWorkspace('test_workspace2');
    
    
    PL/SQL procedure successfully completed.
    
    
    SQL> -- Go to test_workspace1 and update all the rows
    SQL> execute dbms_wm.goToWorkspace('test_workspace1');
    
    
    PL/SQL procedure successfully completed.
    
    
    SQL> update wm_test_table set name = 'after';
    
    
    1000 rows updated.
    
    
    SQL> commit;
    
    
    Commit complete.
    
    
    SQL> -- Check how many rows in wm_test_table_lt - we expect 2,000 as we haven't merged yet
    SQL> select count(*) from wm_test_table_lt;
    
    
      COUNT(*)
    ----------
          2000
    
    
    SQL> -- Merge and remove test_workspace1
    SQL> execute dbms_wm.goToWorkspace('LIVE');
    
    
    PL/SQL procedure successfully completed.
    
    
    SQL> execute dbms_wm.mergeWorkspace('test_workspace1', remove_workspace=>true);
    
    
    PL/SQL procedure successfully completed.
    
    
    SQL> -- Check how many rows in wm_test_table_lt
    SQL> -- I'd hope there'd only be 1,000 but there is 2,000
    SQL> select count(*) from wm_test_table_lt;
    
    
      COUNT(*)
    ----------
          2000
    
    
    SQL> -- Let's see if compressWorkspace will get rid of them
    SQL> execute dbms_wm.compressWorkspace( -
    >       workspace => 'LIVE',   -
    >       auto_commit => true,   -
    >       remove_latest_deleted_rows => true);
    
    
    PL/SQL procedure successfully completed.
    
    
    SQL> -- They're still there
    SQL> select count(*) from wm_test_table_lt;
    
    
      COUNT(*)
    ----------
          2000
    
    
    SQL> -- Now merge test_workspace2
    SQL> execute dbms_wm.mergeWorkspace('test_workspace2', remove_workspace=>true);
    
    
    PL/SQL procedure successfully completed.
    
    
    SQL> -- and the additional 1,000 rows are removed
    SQL> select count(*) from wm_test_table_lt;
    
    
      COUNT(*)
    ----------
          1000
    

    Is it possible to safely remove the extra lines in LT without waiting until we merged the workspaces that existed before the update batch has been done?  I hope that it will so improve the performance of refreshWorkspace.


    I thought that something like this can do, but it does not remove the other ranks, is:

    execute dbms_wm.PurgeTable(
     table_id => 'test.wm_test_table', 
     archive_table => null, 
     where_clause => 'id not in (select id from test.wm_test_table)', 
     instant=>null, 
     workspace => 'LIVE', 
     purgeAfter => false);
    

    This question is similar to

    Lines left in the table LT after removal of the direct workspace and the removal of all workspaces

    and

    How to delete soft deleted records?

    but I'm still not sure.

    Thank you

    John

    Hello

    This behavior is expected and it is due to the test_workspace2 workspace.  A compression operation will not allow compressed range to include a backup implicit point that is created for a child workspace.  This is done to preserve the integrity of this workspace.  The initial 1000 lines are all lines that are visible from test_workspace2.  Removal of these lines would leave test_workspace2 will 0 lines in there.  Lines 1000 updates are the lines that do not appear on LIVE.  So, given that the two sets of lines are needed, none of the lines can be deleted physically.  A compression operation will never change the view of data for any workspace.  It only removes the unnecessary records.  The two options in order to be able to compress these lines is to either delete (as you did) or refresh test_workspace2.  The refresh operation would move the implicit savepoint for the workspace to a version that isn't after all 2000 lines in the table _LT and allow the dressing to remove first half of them because they are no longer needed by any child workspace.

    With respect to the performance of RefreshWorkspace, I would need to see a trace of the transaction file.  But who should rather get through the SR you filed.

    Kind regards

    Ben

  • How to truncate 1000 rows from a table of 7000 lines?

    Hello

    Please give me a quick answer to truncate the 1000 rows from a table of 7000 lines... I don't want to truncate the entire table

    Thank you all for the valuable support,

    My activity is still ongoing... Somehow my client was not specific about what lines are deleted. It has no date column in the table to delete records by date...

    The table contains information about the error logs, so he wanted to keep a few lines and remove the rest... and then copy the table to another database.

    So right now using this query:

    SQL > delete (select * from ) where rownum<>;

    Once again thank you to all...

  • Maybe you are looking for

    • HP 500-164: Microphone not recognized by the computer and no sound with Windows 10.

      I bought two new microphones for computers and none is recognized by my desktop computer.  I'm going back a. My count does not recognize a microphone as recording devices.  And the pickups have no sound.

    • Satellite L850 - A925 Webcam works do not (broken lines that appear)

      Dear community peoples, I have a Toshiba Satellite L850-A925 for 6 months. And I have this annoying problem with the webcam.I installed all the drivers and even when I turn on the webcam application, it gives no error.The only problem, I don't see an

    • URGENT! Lenovo B590 - bad health that plugged while battery!

      Hello, I have a Lenovo laptop B590 and received a message from the center of Solutions Lenovo telling me that my battery is in poor condition. He is currently 2%. I am connected with a power adapter and have not used the laptop unplugged. What should

    • Outlook express 6 imap server 1 & 1

      I have OE 6 under Win XP.My wife uses with 1and1, IMAP-style e-mail accounts.A few weeks ago, she found that outgoing emails get stuck in the Outbox and won't until she shut down the computer and launch the application to the top again (restart on it

    • Error submitting Z10 BB App World App

      Hi, I ve been trying to submit my app to App World and I always get the same reactions of people from blackberry. The app is giving the following error message: "Error, this file is not found. Check the URL and try again. If the URL is correct. Check