filtering rows from the tables

We have about a 10 tables where specific information must be filtered from users with access select backend based on about 5 unique id (in the same column).

This must be done for users with back-end access only.

I have some experience with MEV for use in column-masking. I thought this may be helpful here as well but - my concerns are around the possible performance implications.

Filtering is not necessary for the job but real application process - they are still going to be run the vpd function to determine if they want to add the additional predicate whenever they perform. I don't know if it will be a performance problem or - if there is a better way to do it.

Has anyone experience with MEV in that capacity or - have other suggestions around lines matching the (transparent) tables for users who have access via the backend of the application?

wtlshiers wrote:
I was hoping to create a political function that is not "query" to the determining factor around adding the predicate each time. That's where I think that the context of enforcement would be used.

What do you mean by "application" in this context? The political function must determine the predicate to apply. Of course, this predicate could code be hardcoded in the political function, i.e.

CREATE OR REPLACE FUNCTION my_policy_function(p_owner IN VARCHAR2, p_object_name IN VARCHAR2)
  RETURN VARCHAR2 AS
BEGIN
  IF( user = 'SHARED_APPLICATION_ID' )
  THEN
    RETURN '1=1';
  ELSIF( user = 'BOB_FROM_ACCOUNTING' )
  THEN
    RETURN 'group_id NOT IN (1,2,3)'; -- Bob can see everything other than group_id's 1, 2, or 3
  ELSIF( user = 'SHARON_FROM_FACILITIES' )
  THEN
    RETURN 'group_id = 4'; -- Sharon can only see group_id 4
  END IF;

  -- If we don't know about you, deny access
  RETURN '1=0';
END my_policy_function;

Normally, however, you want to have some sort of mapping table of users to the groups to which they have access in order to simplify the predicate, i.e.

CREATE OR REPLACE FUNCTION my_policy_function(p_owner IN VARCHAR2, p_object_name IN VARCHAR2)
  RETURN VARCHAR2 AS
BEGIN
  RETURN 'group_id IN (SELECT u2g.group_id FROM user_to_group_mapping u2g WHERE u2g.username = USER)';
END my_policy_function;

You can use something in the context of the session value rather than the call to the USER run when you configure the predicate, but I'm not sure it's necessary complexity account required to your needs.

In this case - when a user connects to the database - if they are a user who shouldn't be able to see the specific tables group id - I would fix the system as a result of this user context.

Then - in the political function - I would use the sys context function to determine whether the predicate should be added or not (include/exclude as appropriate).

If you want to use a user-defined context, you could, of course, do something like this to prevent users to access sensitive groups if their IS_ALLOWED attribute is not set to "Y". I have

CREATE OR REPLACE FUNCTION my_policy_function(p_owner IN VARCHAR2, p_object_name IN VARCHAR2)
  RETURN VARCHAR2 AS
BEGIN
  IF( sys_context( 'MY_CONTEXT', 'IS_ALLOWED' ) = 'Y' )
  THEN
    RETURN '1=1';
  ELSE
    RETURN 'group_id NOT IN (1,2,3,4,5)'; -- Groups 1-5 are sensitive
  END IF;
END my_policy_function;

l is simply not obvious to me that it is beneficial in your case where everything is based on the Oracle user name. You can certainly create a context and fill in this context in a logon trigger, but now you have created a context and a logon trigger, and the solution is not as flexible as the table-based approach. In addition you have the coded group_id hard which makes it less likely that someone is going to notice the changes required when group_id are added in the future.

Justin

Tags: Database

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.

  • Fonts of different weights for some rows from the table in a tableView

    Hi all

    I need to add a summary in a TableView row to calculate the sum of all values above this line. For each line, I have an object called KostenDTO.

    class SummCurrencyTableCellFactory implements Callback, TableCell> {

         private NumberFormat numFormat = null;

         public SummCurrencyTableCellFactory(NumberFormat numFormat) {

              this.numFormat = numFormat;

         }

         @Override public TableCell call(TableColumn param) {

              TableCell cell = new TableCell() {

                   @Override public void updateItem(final Float item, boolean empty) {

                   if (item != null) {

                        setText(numFormat.format(item));

                        setStyle("  -fx-alignment: CENTER-RIGHT;");

                        if (item < 0.0) {

                             this.setTextFill(Color.RED);

                        } else {

                             this.setTextFill(Color.BLACK);

                        }

                  } else {

                        setText("");

                  }

              }

         };

         return cell;

        }

      };


    How can I change the font to bold amount-line?

    Thanks and regards Tim

    You can do

      String fontWeight ;
      if (getIndex() == getTableColumn().getTableView().getItems().size()-1) {
      fontWeight = "-fx-font-weight: bold;";
      } else {
      fontWeight = "-fx-font-weight: normal;";
      }
      setStyle("-fx-alignment: CENTER-RIGHT;\n" + fontWeight);
    

    in the updateItem method (...), assuming that the line of the somme is the last line of the table.

  • Delete rows from the table

    Hello

    10G

    A custom table is to have 5000 documents, I need to have everything 100 records in the table and delete the rest of them.
    could you suggest...

    Thank you
    Tim
    delete table_name where rowid not in (select rowid from table_name where rownum <101);
    
  • Add / remove rows from the Table

    Hello

    I'm really new to LiveCycle ES 8.2 (= non-existent knowledge of JavaScript) and has difficulties to create a table that can add / remove lines.

    I found a model that has the feature I need, but am unable to reproduce the table. (Ref. "Fax Cover Sheet_SW.pdf' http://forums.adobe.com/message/2561553#2561553)

    Even when I create a new blank form, and then copy / paste the table (subforms: 'detailHeader' + "detal") in the new, blank forms, the table stops working. The buttons are more clickable in the LiveCycle 'Preview PDF'

    In the new, blank forms, the 'Paging' and 'Binding' tabs have some or all of their features grayed out.

    I tried the following:

    1. Save the form as an "Adobe Dynamic form XML (pdf)"
    2. Make sure all of the 'content' subform fields were set to "Position" instead of "Flowed".

    What am I missing, like all JavaScript copied on, but for some reason any does not work.

    4 things you need to correct your form...

    (1) Page1 subform needs tobe Flowed the value.

    (2) then the link to the Subform1 tab will be active. You must check the box "subform to repeat for each item of data.

    (3) in the Add button to Subform1 you missed 'instanceManager' in the code...

    Subform1.instanceManager.addInstance (1);

    (4) in the same way in the button Delete

    Subform1. instanceManager. removeInstance (this.parent.index);

    Thank you

    Srini

  • 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
    
  • Problem with the removal of the first row of the table

    Hi all

    I have a problem with my forms with tables where I have buttons to add or remove rows from the table. Adding the lines works fine but deleting lines has a problem when deleting the first row. Example: Here is a table with two rows where column 1 has the add and remove buttons and column 2 user imput that looks like this:

    Column 1
    Column 2
    Add and remove buttons hererank 1
    Add and remove buttons hererank 2
    Add and remove buttons hererank 3

    If the user deletes line 2 the table looks like which is correct:

    Column 1
    Column 2
    Add and remove buttons hererank 1
    Add and remove buttons hererank 3

    If the user deletes line 1 then the table looks like which is false since the ranks 2 and 3 should be left:

    Column 1
    Column 2
    Add and remove buttons hererank 1
    Add and remove buttons hererank 3

    The code is pretty simple:

    Table3.row2.instanceManager.addInstance (1); for the click event of the button Add line

    Table3.row2.instanceManager.removeInstance (1); for the click event of the button Delete line

    What I am doing wrong?

    Thanks in advance!

    Al

    The expression will be based on your structure... done .This refers to the current object, parent refers to the container parent of this object and index is the index of this object. So watching your hierarchy and from the key, you will need this.parent to join the line subform is it in (usually it is th esubform that repeats). If it's in a subform, you will need to add another parent. Continue on this road until you get to the repeating subform and then ask its index. Your expression might look like this.parent.parent.parent.index. Using this.index, you find the instance of the button object and there are just people and that's why you always get 0.

    Make sense?

    BTW your form is attached not... so I can't check what you should put it.

    Paul

  • Request from oracle to MySql using dblink read all rows in the table

    Hello
    I use the heterogeneous connectivity between oracle 10204 to the Mysql database.
    I have a database of link on the side of the oracle.
    I request a table in MySql with 10 million rows.

    His is not serious if I am running:
    ' Select * from ' CDR_Accounts"@mysql where 'id '= 7675405;
    or
    Select * from 'CDR_Accounts"@mysql;

    There is an index on the column id.
    It seems that the Mysql is feteching all rows in the table, all data is transferred to oracle on the dblink and only after the required lines are back to the client.

    The /etc/odbcinst.ini file is as follows:
    [odbcprd:oracle@odbc /software/oracle]$ cat /etc/odbcinst.ini
    [myodbc3]
    Description             = Mysql connector to mysql version 3.5
    Driver          = /software/oracle/MysqlOdbc/3.52/lib/libmyodbc3-3.51.25.so
    Driver64                = /usr/lib
    Setup           = /software/oracle/MysqlOdbc/3.52/lib/libmyodbc3S-3.51.25.so
    Setup64         = /usr/lib
    UsageCount              = 1
    CPTimeout               = 3600
    CPReuse         = 
    Please advice

    Thank you

    Initialization of gateway open tha file located in $ORACLE_HOME/hs/admin called init .ora and change HS_FDS_TRACE_LEVEL to HS_FDS_TRACE_LEVEL =WE.

    ATTENTION:
    Do not forget t turn off after all your tests.

  • 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

  • number of rows in the table

    Hi master,

    I have a requirement. During the passage of a table, I need to get the number of rows in this table. Sometimes, when I spend 2 or more table names, I need to get the same count of result of lines. I got the below function. but it shows all the rows in the table. I want pariticular tabels only. How I can I get it.

    Select table_name, num_rows from all_tables where table_name in ('EMP', 'Department');  I tried.  I need to a procedure or function. who will pass the name of the table as a parameter and 1 or more than the name of a table if I pass, I need to display information from table name and number of lines.

    CREATE OR REPLACE

    TYPE t1_obj AS OBJECT)

    table-name VARCHAR2 (30),

    CNT NUMBER

    )

    /

    CREATE OR REPLACE

    TYPE t1_obj_tbl AS THE t1_obj TABLE

    /

    CREATE OR REPLACE

    FUNCTION (f1)

    p_schema_name VARCHAR2

    )

    RETURN t1_obj_tbl

    PIPELINED

    IS

    v_retval t1_obj: = t1_obj (null, null);

    BEGIN

    FOR v_rec IN (SELECT table_name FROM dba_tables where owner = upper (p_schema_name) and nvl (iot_type, 'X')! = "IOT_OVERFLOW") LOOP

    v_retval.table_name: = v_rec.table_name;

    RUN IMMEDIATELY "SELECT COUNT (*) FROM" | p_schema_name | '.' || v_rec.table_name

    IN v_retval.cnt;

    PIPE ROW (v_retval);

    END LOOP;

    RETURN;

    END;

    Select * from table (f1 ('scott'));

    The above function returns information from the table in SCOTT scheama. I need only perticular table info.

    Please notify.

    AR.

    Hi Sven,

    Front end people ask me the requirement. They wanted a proc or function as I want.

    Please help me.

    Concerning

    AR

  • Exception of null on the list pointer implementing values when there are n rows in the table

    Hi Experts,

    I use JDev 11.1.1.7.

    I have a VO that I defined a LOV with no search box. In my page, I've added it as af:inputListOfValues, but when there is no rows in the table that I will meet with NPES

    < AdfcExceptionHandler > < handleException > ADFc: when Manager application exception exception handling threw a new exception.

    java.lang.NullPointerException

    at oracle.jbo.uicli.binding.JUCtrlListBinding.findOrCreateLOVDialogIteratorBinding(JUCtrlListBinding.java:5188)

    at oracle.adfinternal.view.faces.model.binding.FacesCtrlLOVBinding.getSearchBinding(FacesCtrlLOVBinding.java:204)

    to oracle.adfinternal.view.faces.model.binding.FacesCtrlLOVBinding$ ListOfValuesModelImpl.getSearchRegion (FacesCtrlLOVBinding.java:2001)

    to oracle.adfinternal.view.faces.model.binding.FacesCtrlLOVBinding$ ListOfValuesModelImpl.getQueryModel (FacesCtrlLOVBinding.java:1612)

    to oracle.adfinternal.view.faces.renderkit.rich.SimpleInputListOfValuesRendererBase$ InternalLaunchPopupListener.processLaunch (SimpleInputListOfValuesRendererBase.java:1560)

    at oracle.adf.view.rich.event.LaunchPopupEvent.processListener(LaunchPopupEvent.java:108)

    Excerpt from JSFF:

    < af:inputListOfValues id = "xxx" popupTitle = "" search and select: XXX ""

    simple value = "#{pageFlowScope.SearchBean.xxx}" = 'true' "

    model = ' #{bindings. " XXXLOV.listOfValuesModel} "columns ="30"

    searchDesc = "Select XXX" >

    < / af:inputListOfValues >

    PageDef:

    < listOfValues StaticList = 'false' use = "LOV_XXX".

    IterBinding = "XXXIterator".

    ID = "XXXLOV" / >

    Is - this bug?

    Surprisingly, it works very well if there are lines in the table that the VO is querying.

    -Soham

    Soham,

    I think you just create this LOV page by simply moving the VO, right?

    You can select the box to tick 'Include no. Selection' in your VO, and see if that helps?

    See you soon

    AJ

  • 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

  • Select the row in the table to change in a form

    Hi all

    I use Jdeveloper 12.1.3.0.0 on windows internet explore 10.

    I have the following form and the read-only table. the form and the table that are both on the same object from view.

    click_edit.png

    When the user clicks a row in the table, I want to choose this line in the form above for editing purpose.

    How would I do that? the first column of the table is a primary key.

    I followed shayjdev vedio http://www.youtube.com/watch?v=e0IcnXLJUgU

    but the problem is that when I click the button CreateInsert (5th button left in my case), never clear the form for the opening of new record, instead, he put the table in input mode.

    kindly help me with this.

    Thank you.

    To create a new line, you drag the operation createInsert of the data control on the create new"" button. This should create the new row.  If you like the new line being the last of them using the link from dvohra21 to https://blogs.oracle.com/jdevotnharvest/entry/how_to_add_new_adf

    In this case, you must change the listener to the button action to point to the generation of listener action code of Frank.

    Timo

  • 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...

  • Questions about the reorganization of the rows in the table by drag-and - drop feature

    I am referring to the demo: 106. Drag-and-drop the reorganization of the rows of the table in aCorner of Code DF to implement my case.

    I am facing some problems:

    1. the view object (bound to the table) is read only and it is created directly by very complex SQL queries, without entity objects. When it is run the code: dragRow.removeAndRetain () in the method: DnDAction processDrop (DropEvent dropEvent), it throws the error so that a guest view object is read-only. I want to know if there is another way to delete the moved collection line?

     public DnDAction processDrop(DropEvent dropEvent) {
    ...       
           CollectionModel collectionModel = (CollectionModel) table.getValue();        
            JUCtrlHierBinding treeBinding = (JUCtrlHierBinding) collectionModel.getWrappedData();
            
            //get access to the ADF iterator binding used by the table and the underlying RowSetIterator.
            //The RowSetIterator allows us to remove and re-instert the dragged row
            DCIteratorBinding departmentsIterator = treeBinding.getDCIteratorBinding();               
            RowSetIterator rsi = departmentsIterator.getRowSetIterator(); 
    
            int indexOfDropRow= rsi.getRangeIndexOf(dropRow);
           //get access to the oracle.jbo.Row instance represneting this table row
           Row dragRow = (ViewRowImpl)table.getRowData(draggedRowKey);
           //remove dragged row from collection so it can be added back
           dragRow.removeAndRetain();
           rsi.insertRowAtRangeIndex(indexOfDropRow, dragRow);
          ...
    }
    

    2. When you click on a button, I need to save the command results in the database using the command update # of each rank. Here it is the handler method for the event of the action (in MB) button.

    I want to use RowSetIterator table for encode it from all ranks and update the value # order of each rank.   I call a data control method to run sql update. is it ok? any suggestion?

        public void processSaveOrder(ActionEvent actionEvent) {
            CollectionModel collectionModel = (CollectionModel) mytable.getValue();        
            JUCtrlHierBinding treeBinding = (JUCtrlHierBinding) collectionModel.getWrappedData();
            
            //get access to the ADF iterator binding used by the table and the underlying RowSetIterator.
            //The RowSetIterator allows us to remove and re-instert the dragged row
            DCIteratorBinding iterator = treeBinding.getDCIteratorBinding();               
            RowSetIterator rsi = iterator.getRowSetIterator();
            Row row =rsi.first();
            System.out.println(0+"="+ row);
            int i = 1;
            while(rsi.hasNext()){
                row = rsi.next();
                System.out.println(i+"="+ row.getKey());
                i++;
            }
    
        }
    

    A workaround solution was found:

    In ADF 12 c, it can be solved by changing Updatable "Always" in the details tab of each attributes to read-only view object without entity object.

Maybe you are looking for

  • Satellite Pro A60 missing or corrupted isapnp.sys

    I get this error message when you try to start. I have topped up the recovery disk and it made no difference.

  • Flex 2: 14, flickering of the screen and automatically logoff from my account!

    Hello dear users of Lenove, I hope one of you can help me with this problem. Bought this laptop last month and this is my second laptop Flex (the last of them died and wasn't fixed but Lenevo Germany, we had the same config.) System information: -8.1

  • Header/footer issues

    I have problems with my header/footer.  It seems that some of them are different from when I iniitally started my paper.  In one place, I have a header that is almost the entire page. I tried to delete and start again but the same thing is going to b

  • my 32 bit vista will fail to boot diskett 0, clues?

    I have no disc or installation, disk backup

  • x 230 Tap simple script error

    Whenever I click on the tile "Get more Apps" in the right row, I get a Script error with the following message: [IMG][line] http://i.imgur.com/Oc3su57.png error: access denied for: http://shop.lenovo.com/ISS_Static/css/themes/ow/ie-css3.htc the only