Access policy - remove a child table element

Hello world

I know that I can add the security group (child table of resource user AD) an AD with a Pollicy to access user account.

Can I delete a group of security with an access policy?

Thank you.

Best regards.

Yes you can.

Case 1: Using existing access policy

Change the access policy and to remove political access groups and access policy reassess existing aid assess political task of the user.

This reapply the access policy and remove the eligibility list from the user groups and has AD.

Case 2: Creating new access policy

In this can create new policy without children table entries/groups.

Then you must change the value of rule out based on your new political will to triggered.

Role a rule say role is 'Full Time'

unless and until what your role does not change new access policy will not comes into picture.

suggestion if you perform commissioning using the access policy and then also use political access of shortages of resources and rights it will work well.

Tags: Fusion Middleware

Similar Questions

  • Has child table data values

    Hello

    I use ProvisioningService to access the data of children on behalf of the user, but I'm not able to find these values in the returned data. This is my code:

    ProvisioningService provSrv = (ProvisioningService.class) Platform.getService;

    String userId = null;

    The list of < account > accounts;

    String accountId = null;

    try {}

    userId = user.getId ();

    accounts = provSrv.getAccountsProvisionedToUser (userId, true);

    for (account account: accounts) {}

    String appInstName = account.getAppInstance () .getApplicationInstanceName ();

    If (MyApplicationInstance".equalsIgnoreCase (appInstName)) {" "}

    Map < String, ArrayList < ChildTableRecord > > childData = account.getAccountData () .getChildData ();

    If (childData! = null) {}

    ChildTable ArrayList < ChildTableRecord > = childData.get ("UD_MY_CH");

    for (ChildTableRecord rec: childTable) {}

    Map < String, Object > data = rec.getChildData ();

    {for (String r: {data.keySet ())}

    Logger.info ("-->" + r + ":" + data.get (r));

    ...

    How can I access data in the child table values? Can you help me please?

    Peter

    Here's some code that I use:

    {} public void getApplicationInstance (long objInstanceKey)
    try {}

    Account = provSvc.getAccountDetails (objInstanceKey);
    ApplicationInstance appInstance = account.getAppInstance ();
    System.out.println ("user:" + account.getUserKey () + "\tProcess InstanceKey:" + account.getProcessInstanceKey () + "\tAccount ID:" + account.getAccountID () + "\tAccount descriptive field:" + account.getAccountDescriptiveField () +)
    "\n" +
    ("App Instance name:" + appInstance.getApplicationInstanceName () + "\tResource object:" + appInstance.getObjectName () + "\tIT resource:" + appInstance.getItResourceName () + "\tStatus:" + account.getAccountStatus ());

    ApplicationInstance applicationInstance = appSvc.findApplicationInstanceByName (appInstance.getApplicationInstanceName ());
    FormInfo accountForm = applicationInstance.getAccountForm ();
    List the fields of = accountForm.getFormFields ();

    AccountData accountData = account.getAccountData ();
    Card data = accountData.getData ();

    for (FormField field: fields) {}
    If (! data.get (field.getName ()) m:System.NET.SocketAddress.ToString () .isEmpty ())
    System.out.println (Field.getLabel () + "\t" + data.get (field.getName ()));
    }

    Card> allChildTables = accountData.getChildData ();
    List childForms = applicationInstance.getChildForms ();
    for (FormInfo childForm: childForms) {}
    ArrayList childTable = allChildTables.get (childForm.getName ());
    If (! childTable.isEmpty ())
    System.out.println ("Child Table\t" + childForm.getName () + "\t" + childForm.getDescription ());
    for (ChildTableRecord childTableRecord: childTable) {}
    Card childData = childTableRecord.getChildData ();
    The list of formFields = childForm.getFormFields ();
    for (field FormField: formFields) {}
    If (! childData.get (field.getName ()) m:System.NET.SocketAddress.ToString () .isEmpty ())
    System.out.println ("Child Table\t" + childForm.getName () + "\t" + field.getLabel () + "\t" + childData.get (field.getName ()));
    }
    }

    }
    } catch (Exception e) {}
    e.printStackTrace ();
    }
    System.out.println("\n");
    }

    -Kevin

  • cannot access the rows of a table not nested element

    What Miss me? I'm under Oracle 12 c (12.1.0.1.0)

    CREATE TYPE dim_O AS OBJECT )

    dimension_id number

    label_en varchar2()300( )

    );

    CREATE TYPE dim_T AS TABLE OF dim_O;

    DECLARE

    dims_t dim_T

    START

    SELECT CAST(MULTISET( )) 

    SELECT  DIMENSION_ID LABEL_EN

    DE    DIMENSIONTABLE -actual physical table in oracle

       DIMENSION_ID IN (3001 3002 3003()

    ) AS dim_T) "dim_rec"

    BY dims_t

    DE    DOUBLE;

    FOR I IN dims_t. FIRST... dims_t. LAST LOOP

    DBMS_OUTPUT. Put_line() dims_t() I). dimension_id);

    END LOOP;

    -exit from the loop above is

    -3001

    -3002

    -3003

    -The following statement fails: cannot access the rows of a table not nested element

    UPDATE TABLE ( SELECT dimension_id FROM TABLE (dims_t) ( )

    Dimension_id SET = WHERE = dimension_id 3004 3003

    -The following statement fails: cannot access the rows of a table not nested element

    UPDATE TABLE ( SELECT dimension_id FROM TABLE (CAST (dims_t in dim_T () ) ( )

    Dimension_id SET = WHERE = dimension_id 3004 3003


    END;

    I'm trying to understand this example very simple, but to no avail.

    Can someone tell me why I get this error?

    Thank you all in advance for your time.

    Marc

    What Miss me? I'm under Oracle 12 c (12.1.0.1.0)

    CREATE TYPE dim_O () AS OBJECT

    number of dimension_id

    label_en varchar2 (300)

    );

    CREATE TYPE dim_T AS TABLE OF dim_O;

    DECLARE

    dims_t dim_T;

    BEGIN

    SELECT CAST (TYPE MULTISET)

    SELECT DIMENSION_ID, LABEL_EN

    OF DIMENSIONTABLE -actual physical table in oracle

    WHERE DIMENSION_ID IN (3001,3002,3003)

    () AS dim_T) 'dim_rec '.

    IN dims_t

    FROM DUAL;

    I'm IN dims_t.FIRST... dims_t.Last LOOP

    DBMS_OUTPUT. Put_line(dims_t (i) .dimension_id);

    END LOOP;

    -exit from the loop above is

    -3001

    -3002

    -3003

    -The following statement fails: cannot access the rows of a table not nested element

    UPDATE TABLE (SELECT dimension_id FROM TABLE (dims_t))

    SET dimension_id = dimension_id = 3003 3004 WHERE;

    -The following statement fails: cannot access the rows of a table not nested element

    UPDATE TABLE (SELECT dimension_id FROM TABLE (CAST (dims_t as dim_T)))

    SET dimension_id = dimension_id = 3003 3004 WHERE;

    END;

    I'm trying to understand this example very simple, but to no avail.

    Can someone tell me why I get this error?

    You get it because dims_t is an array of OBJECTS - not a table of scalars. But your SELECT statement returns scalar.

    There IS NO such object, named "dimension_id"; It is an ATTRIBUTE of the object DIM_O. DIMENSION_ID is a SCALAR which, as says the exception, is a "No nested table element; If you cannot select/Update lines of it.

    What you do is equivalent to the following:

    DECLARE

    dims_t dim_T;

    number of dim_id;

    dim_o design;

    BEGIN

    Design: = dim_o (3, 'ghi');

    SELECT DIM_O (DIM_ID, LABEL) BULK COLLECT INTO table DIMS_T (d_o);

    end;

    /

    ORA-06550: line 7, column 59:

    PL/SQL: ORA-22905: cannot access the rows of a table not nested element

    ORA-06550: line 7, column 1:

    PL/SQL: SQL statement ignored

    This SELECTION is trying to design it as a table when it's a SCALAR - so the same exception you get.

  • IOM 11 GR 2 - Entilements are removed if the child tables are not met.

    Hello experts,

    I use the OOTB DBUM connector.

    When a user has certain rights assigned to IOM (db, db roles privileges) need to be addressed in the child tables before any account update otherwise they are deleted/revoked.

    In other words when the update of a parent account attribute, I need also to populate child tables with payments already assigned, so I leave them blank, all payments will be deleted: empty child tables means "remove all rights", instead, I don't want to change the right assignments.

    How can I do this?

    Fixed by the creation and use of a new form of resources.

  • Disable / remove the IOM - OIM11g access policy

    Hi Experts,

    Audit on these forums, I realized it is not possible to delete an access DB constraints policy.
    I read somewhere that it is possible to turn them off, but I don't understand how.
    Any ideas?

    Hello

    In order to disable the access policy... remove the role that are associated with. Since then, it is mandatory for at least one role... create and offer a dummy role...

    You can also delete membership rule which is responsible for the users add to the group.

    Concerning
    user12841694

  • Role be revoked with Access Policy

    Hello

    I have an access policy that puts in service to an object resource with a particular role. Whenever a user belongs to the group according to a rule called USR_UDF_GLOBALSTATUS == Active, automatically the user is getting put into service for the purpose of resource with this role in accordance with the access policy. In this access policy, "revoke if doesn't apply" option is disabled for this resource object.
    Whenever for this user, USR_UDF_GLOBALSTATUS == Active is modified as USR_UDF_GLOBALSTATUS is inactive the reconciliation, the user is removed from this group. So far so good. But the particular role assigned to the user is also get revoked. I have not activated "to revoke if doesn't apply" option. But how to revoke the role?

    According to my requirement, this special role must always remain even if the user is removed from the group. Help, please...

    -Pavan

    Revoke if is no longer if applies only revokes the resource itself. Data in the child table always disappears when the user is no longer associated with the access policy. An action to "Revoke" are not entered in the child table. If you have any more of the access policy, provided policy data is deleted for the data of the child.

    -Kevin

  • How to recover Access Policy based on OUD groups

    I have a table named userdata with 3 columns

    1 user name

    2 take

    3 OUDgroup(associated with user)

    I need to find the access policy attached with this OUD group and then retrieve the role associated with this access policy. Please help me

    Concerning

    SuperCoolDamnAwsome

    Hello

    By joining the POL, POG and UGP tables, we can get the name of role associated with the access policy.

    Here is the query to get the name of role associated with the access policy.

    Select p.pol_name, u.ugp_name, u.ugp_rolename in pol p, u of the PMU, pog where p.pol_key = pog.pol_key and you.ugp_key = pog.ugp_key;

    Hope this helps

    Thank you

  • Records in the Child Table to return DBAT connector deletion and addition

    I'm trying to add a record of the child to a resource DBAT (11.1.1.5). The structure of the Table is set up like this:

    OIM_USR

    Usr_key First name Last_name

    OIM_ROLE

    USR_KEY ROLE_KEY

    Where OIM_USR is the parent, and OIM_ROLE is the child that can store multiple values per user.  The problem arises when there is already an existing value in the child table. Consider the following example for instance

    OIM_USR

    Usr_key First name Last_name
    45JohnDOE

    OIM_ROLE

    USR_KEY ROLE_KEY
    452454
    454453

    If I add another line to the role of the identity UI table Edit tab added resource role, but IOM is remove the previous two lines and then adding them back. We know that it is because the source OIM_ROLE table contains a timestamp of creation triggered update time when a row is added. If I add a line to OIM_ROW then all three are getting updates for a reason any. We can also see the history of resource shows three updates. Inserting a record of the child should not call the process of update tasks. I've attached a screenshot of the history of the resource.

    In addition, I upped the DBAT Connector logs and he showed a trace of remove:

    DELETE FROM OIM_ROLES WHERE OIM_ROLES. USR_KEY =?

    Why he deletes all children lines before an insertion?

    I think you use OOTB DBAT connector without modification. I think that's how its design to add/change/delete files. For child process also updated form, we follow the same approach.

    Are you facing any functional problem in connector DBAT to reach your use cases?

    ~ J

  • Drawbacks to the use of the child tables

    Hi, in Oracle NoSQL-GSG - Tables.pdf page 22: "Note that there is no downside to using children tables [instead of folders] even for the trivial cases."
    But currently, there are some disadvantages disadvantages, as illustrated in this simplified example:

    create a table - name personal
    Add-field - type STRING-identification
    Add-field - type STRING-familyName name
    Add-check-domain - name postalAddress
    Add-field - type STRING-city name
    Add-field - type STRING-name street
    output
    Add-check-domain - name invoiceAddress
    Add-field - type STRING-city name
    Add-field - type STRING-name street
    output
    primary key - id field
    output
    Plan add a table-name Personal-wait

    # In addition, we define the child table having a similar structure to show the differences:
    create a table - name Personal.Address
    Add-field - type STRING-name of the type of
    primary key - field type
    Add-field - type STRING-city name
    Add-field - type STRING-name street
    output
    add name Personal.Address table map - wait

    connect store - name kvstore


    «"set table - name personal - json ' {\"id\":\"1\', \"familyName\":\"Wu\'", \"postalAddress\ ': {\"town\":\"Rio\", \"street\":\"MyWay\ ""} ', \"Address\ ': {\"type\":\"delivery\', \"town\":\"Rio\'", \"street\":\"MyWay\"}}»
    # Please, you could allow "instead of"in the syntax of CLI to avoid ugly \"hiding?"

    get table - personal name - enough
    # Result is:
    {
    « id » : « 1 »,
    "familyName": "Wu."
    'postalAddress': {}
    "City": "Rio."
    "the street": "MyWay".
    },
    'invoiceAddress': null
    }
    # Address data (from child table) are not displayed (but it's a feature!)


    get table - name Personal.Address - enough
    0 rows returned
    # address data was not stored (and no error message was displayed in the command put above).

    "set table - name Personal.Address - json' {\"id\":\"1\", \"type\":\"delivery\"", \"town\":\"Rio\" ", \"street\":\"MyWay\ "}".
    get table - name Personal.Address - enough
    {
    « id » : « 1 »,
    "type':"delivery. "
    "City": "Rio."
    "the street": "MyWay".
    }
    # Good, it is stored, but not 'nested' correctly:


    get table - name personal - child Personal.Address - enough

    # This gives the person and her child in a sequence:
    {
    « id » : « 1 »,
    "familyName": "Wu."
    'postalAddress': {}
    "City": "Rio."
    "the street": "MyWay".
    },
    'invoiceAddress': null
    }
    {
    « id » : « 1 »,
    "type':"delivery. "
    "City": "Rio."
    "the street": "MyWay".
    }

    Kids tables are normal tables that have a name containing a point and that inherit the keys to their anchestors. They have disadvantages compared to the record types.

    At least the input/output JSON data is not as expected.

    Hello

    Child tables exist for two main reasons.

    1. They allow the related data modeling in independent lines, as I mentioned earlier.  In a relational system do you this with another table and a join to get information at the same time.
    2. Data in table, they allow access to the mother and child in an efficient and transactional data.  That you don't get modeling them as independent and make a join.  This is probably the point you've been away.

    Popping up a level of abstraction, Oracle DB NoSQL is a sharded system, designed to provide horizontal scaling with consistent performance.  It does this by placing recordings of the pieces separated according to the brightness of the line key.  All lines with the same brightness key are stored in the physical basis and are therefore available in a transactional manner.

    In a first level table (i.e. one without a parent) the brightness key is either explicitly set or it is precisely its primary key.  The brightness of a child table key is always key brilliance of its parent.  This means that if you have a table person with a primary key of '1' then all its child table lines who share this part of their primary key (e.g. <"1", "work_address"="">, <"1", "home_address"="">, etc.) are accessible to all, in the same transaction - that works for multiGet and updates, which can be done with lists of TableOperation.

    You're trying things with the CLI, which works, but is not the richest way to access the system, and is of course confusing sometimes.

    -Child flag you saw in the CLI is not there to specify the relationship between the table of the child, but rather to indicate that you want to get records from this table as well.  For example, if you have a person parent table and child table address and that you only want the parent lines that you do:

    get table - name person

    If you want to get the lines both person and address you

    get table - name person-child address (or Person.Address, I do not remember offhand)

    To do a specific identity, you do

    "get table - name person - child address - json ' {'id': '1'}"

    Is - this make more sense?

    Kind regards

    George

  • Strange behavior after giving a role to access policy.

    Greetings.
    I use OIM 11.1.1.3 and I also use the DBUM 9.1.0.4 adapter.
    I defined 3 roles in IOM once I've defined three strategies of access to available roles to a database.
    Each policy is associated with a role and a DBUM resource.
    In the end, I have the following policies.
    Role of role based policy name IOM
    1. policy role - A role - A DBRoleA
    2. policy role - role B - B DBRoleB
    3. policy role - role C - B DBRoleC.

    When a role is granted to the user of the IOM by using the Administration Console is implemented as a correct database to the specified database. But if I revoke a role from the user and grant the same role yet the specified role are not configured on the specified database.
    Example: A user 'Role A', 'Rôle B', 'C Role' in the database of the user have DBRoleA, DBRoleB, DBRoleC.
    After revocation "A Role" of the user, the database have the roles of good DBRoleB and DBRoleC.
    But if "A" is again granted the user the DBRoleA is not provisioned in the database.

    I activated the dbum log file and it looks like a bad role has been chosen and the DBRoleB the role of database to be configured. Because we see in the log file when the user is granted the "A role":

    [WLS_OIM1] [TRACE] [[OIMCP.] DBUM] [tid: [ASSETS].] [[ExecuteThread: '2' for the queue: "(self-adjusting) weblogic.kernel.Default"] [username: oiminternal] [ecid: 0000JDjSF5i9h ^ 5prOt1iY1EgfQX0000lD, 0] [SRC_CLASS: com.thortech.util.logging.Logger] [APP: IOM #11.1.1.3.0] [decided: 4506c477d760fc7e:26c2d53a:1336a1dbc64: - 7ffd - 0000000000000 d 45] [SRC_METHOD: Debug] oracle.iam.connectors.dbum.integration.DBUMProvisionManager: getChildFormData: form Value2011-11-04[2011-11-04T11:37:14.392-05:00] [WLS_OIM1] [PATH] [[OIMCP]. DBUM] [tid: [ASSETS].] [ExecuteThread: '2' for the queue: "(self-adjusting) weblogic.kernel.Default"] [username: oiminternal] [ecid: 0000JDjSF5i9h ^ 5prOt1iY1EgfQX0000lD, 0] [SRC_CLASS: com.thortech.util.logging.Logger] [APP: IOM #11.1.1.3.0] [decided: 4506c477d760fc7e:26c2d53a:1336a1dbc64: - 7ffd - 0000000000000 d 45] [SRC_METHOD: Debug] oracle.iam.connectors.dbum.integration.DBUMProvisionManager: getChildFormData: mapping of data from child form received:-{UD_DB_ORA_R_VERSION = 0, UD_DB_ORA_R_KEY = 3180, UD_DB_ORA_R_UPDATE = 2011-11-04, UD_DB_ORA_R_CREATE = 2011-11-04 {, process Instance.Key = 5916, UD_DB_ORA_R_UPDATEBY = 6 UD_DB_ORA_R_ROLE = 102 ~ * DBRoleB *, Access Policies.Key = 183, UD_DB_ORA_R_CREATEBY = 6}


    The issue is that anyone has experienced the same problem?
    Is there another way of provisioning of database roles after granting roles of the IOM?

    Thank you!
    Ramiro Ortiz

    Re: Roles and access policies

    I created an access policy (with renovation = revoke, if not applicable = true) that is, if the user is a member of the role XYZ, it should be provided for an application automatically (RBAC). Sometimes it works fine, but sometimes even if the user is a member of the role of XYZ, the user is not configured

  • Access Policy Update or Revoke AD does not

    Hello

    Problem:

    I'm automating the AD Provisioning user via the IOM access policy. I am able to provision users in AD, but the user is not visible in the "resources" tab. If something is updated the IOM attributes and are not transfer of IOM to your user AD process. If I removed the user role, the user was not revoked the pub.

    Configuration:

    I created the following task to automate the configuration of the user. They are

    (1) rule
    Name: All users of the AD
    Rule criteria: user login! = NULL

    (2) role

    Name: AD role
    Member ship rule: all users of the AD

    (3) access policy:

    Access policy information

    Name of access policy: access AD policy
    Access Policy Description: Access AD policy
    With approval: No.
    Renovation of access policy: Yes
    Priority: 1

    Resources to be put in service by this access policy

    Name of the resource: AD user
    Revoke resource and entitlement (s) If is no longer applies: checked
    Forms of process: AD user details
    User AD form details are fed by pre-fill adapter in create and change < FieldName > fill in update operation.

    Role
    Name: AD role

    I could not see any error in the log of AD connector file.

    What I want to do something outside of politics to access AD to view resources in the resource TAB and also update the attributes of the user (process of change tasks are configured) and Revoke.


    Help is greatly appreciated.

    What do you mean by this statement:

    But the user is not visible in the "resources" tab

    Do you mean that when you go to resource a user profile, then you can not see that AD user is provisioned to this user?

    Check the checkbox "Auto Save" on "AD User" process Defintion
    Add a user in this role explicitly in this role/group

    Resources to be put in service by this access policy

    I hope you give values for AD server and the name of the Organization in the form of courses in this section.
    Allow the newspapers as well as user AD spots are called or not

    And

    To send the attributes changed to AD, you create corresponding tasks such as change of name, change last name etc in the defintion of user AD process and made its entry in the search for relaxation?
    If yes then it will work only when you see AD user configured/active status in the profile of the user of resources

    Let me know the results

  • Target the movieclip from a file of class AS3 - remove/add child

    Halo.

    I have a very simple question (for those who use external class files).

    Assuming that I have a MovieClip that is manually added to the stadium and I want to access it from the inside of my definition of the class.

    Thus, the code would be:

    MovieClip (root). MyMovieClip

    But I can't understand how to use remove/add child in this kind of situation.

    I'd appreciate advice.

    Thank you

    If you can reference using them, you can remove it using:

    MovieClip (root). MyMovieClip.parent.removeChild (MovieClip (root). MyMovieClip);

    and you can add to any displayobjectcontainer.

  • Remove a child on the root timeline of in a movieclip

    Hello

    How can I remove a child of the root timeline of in a separate movieclip?

    I tried

    MovieClip (parent) .removeChild (mc1);

    But I get this error

    1120: access of undefined property mc1.

    I could write a function in the root timeline, which removes all child, then on run only from in the movieclip but is there a better way?

    Thanks in advance.

    If you are on the timeline of mc2 and want to remove mc1 mc2, you can use:

    removeChild (mc1);

    If you are on MC2 timeline and mc1 and mc2 are both children of the same parent and you want to remove mc1, you can use:

    parent.removeChild (MovieClip (parent) .mc1);

  • Problem with remove the child to

    I have an empty clip that contains text and media for executives in a lesson called content_mc

    I load dynamically in a text box and then other things such as graphics, videos and other swf files...

    before you begin to insert swf files, it worked very well, but it was just the text on the screen, now that I have other media, it removes "randomly" children and I can't understand why it's what I use:

    for (var c:uint = 0; c < content_mc.numChildren; c ++) {}
    trace (c + ":" + content_mc.getChildAt (c) .name);
    content_mc.removeChildAt (c);
    }

    Anyone know what is happening?

    Figured it out!

    OK, for those of you who want the answer to this, but don't want to pay for it...

    I realized that when you use the removeChildAt() she removes the child of the index number... so the way I did it was like this:

    for (var c:uint = 0; c
    trace ("-" + content_mc.getChildAt (c) .name + "(" + c + "')");
    content_mc.removeChildAt (c);

    doing this, he was first to remove the child at index 0. and what made flash NOW are "slides" down an index... so the element that was at index 1 is now 0, the element at index 2 is now 1, etc... so when I arrived at the last, it would not remove it because it was no longer there...

    but change to it (instead of using the variable c, you have just put 0 in the index box):
    for (var c:uint = 0; c
    trace ("-" + content_mc.getChildAt (0) .name + "(" + c + "')");
    content_mc.removeChildAt (0);

    solved the problem :)

  • Update the data to uppercase in the parent/child tables

    Hi gurus!

    In production, we have a table product and that is in reference by many tables making parent child relationship. By mistake, we realized last month some products have been added to lowercase and now we have a request to update all these product codes uppercase so that existing code that use these tables have no impact. Appreciate if you can give an idea about how can I update the existing data in the table parent uppercase as well as child records?

    Concerning
    Sri

    Are the product code that you need to update what is stored in the tables of children? If Yes, then you must do it in several steps, something like:

    Identify the child tables

    SELECT table_name, constraint_name
    FROM user_constraints
    WHERE r_constraint_name = (SELECT constraint_name
                               FROM user_constraints
                               WHERE table_name = 'PRODUCT_TABLE' and
                                     constraint_type = 'P');
    

    Create new product of upper-case code in the product table:

    INSERT INTO product_table
    SELECT UPPER(product_code), other_columns
    FROM product_table
    WHERE product_code <> UPPER(product_code);
    

    Update the children tables for caps product codes

    UPDATE child1
    SET product_code = UPPER(product_code)
    WHERE product_code <> UPPER(product_code);
    

    Finally, remove the tiny product_table product codes

    DELETE FROM product_table
    WHERE product_code <> UPPER(product_code);
    

    John

Maybe you are looking for