Create and Manage Table Hyperlink Groups

Table Hyperlink Groups allow you to access data from multiple objects or multiple SELECT statements through a single URL. Using a Table Hyperlink Group simplifies data retrieval by consolidating information from various objects into one access point (URL).

Create a Table Hyperlink Group

Shows you the steps to create a Table Hyperlink Group that provides access to multiple Table Hyperlinks with a single URL.

When you access a Table Hyperlink Group it uses the privileges granted to the database user who creates the Table Hyperlink Group. The user that creates a Table Hyperlink Group should have the minimum privileges required for providing access to the data. To maintain security, Oracle recommends that you do not run DBMS_DATA_ACCESS.CREATE_URL as the ADMIN user.

To create a Table Hyperlink Group:

  1. Identify the objects (tables or views) and the SELECT statements that contain the information you want to share.

  2. Run DBMS_DATA_ACCESS.CREATE_URL to generate the Table Hyperlink Group.

    For example:

    DECLARE
       status CLOB;
       BEGIN
          DBMS_DATA_ACCESS.CREATE_URL(
              sqls => '[{"name": "employee", "description": "employee description", "schema_name":"SCOTT", "schema_object_name":"employee"},
                  {"name":"TREE", "description": "tree description", "sql_statement": "select * from admin.tree_data"}]',
              expiration_minutes   => 360,
              result               => status);
           dbms_output.put_line(status);
        END;
    /

    In this example, the parameters are:

    • sqls: specifies, as a JSON array, the member details for one or more schema objects or SQL SELECT statements to be created as members of a Table Hyperlink Group.

      The format of the JSON array is:

      Attribute Name Required Description
      name No Specifies the group member name. When no name is provided, the procedure creates a default name.
      description No Group member description
      sql_statement Providing either sql_statement or schema_object_name is mandatory SQL statement for the member

      See [Create a Table Hyperlink with a Select Statement](autonomous-table-hyperlink-generate-url.html#GUID-19ACA32B-3F7A-44BF-AF9F-69C424E3909D) for details.

      schema_name No

      Schema name for the member. Provide a schema_name value only when the table/view provided in schema_object_name is not available in current schema

      See Create a Table Hyperlink for a Table or a View for details.

      schema_object_name Providing either sql_statement or schema_object_name is mandatory Table/View name for the member

      See [Create a Table Hyperlink for a Table or a View](autonomous-table-hyperlink-generate-url.html#GUID-382CC1A2-CCDF-4CC4-BC67-18A66B1DB61B) for details.

      default_bind_variable No Applicable only for sql_statements with bind variables

      See [Create a Table Hyperlink with a Select Statement](autonomous-table-hyperlink-generate-url.html#GUID-19ACA32B-3F7A-44BF-AF9F-69C424E3909D) for details.

      column_lists No Same as defined for the creation of a non-group Table Hyperlink

      See [Create a Table Hyperlink with UI Features Specified on Columns](autonomous-table-hyperlink-generate-url.html#GUID-B9B39F35-6F30-4FDE-9176-FBE911ACFE05) for details.

    • expiration_minutes: specifies that the Table Hyperlink Group expires and is invalidated after 360 minutes.

    • service_name: specifies that the generated Table Hyperlink Group is serviced with a specific service-level guarantee and resources. For example, use the service_name parameter to specify that access to the object is mapped to the HIGH service.

    • result: provides JSON that indicates the outcome of the operation.

    See CREATE_URL Procedure for more information.

  3. Check the result.

    The status contains the result that includes the create Table Hyperlink Group details. For example:

    {
      "status" : "SUCCESS",
      "id" : "P4LmrWC2-tGeHVlF6FRaQUIN2fW5nixkXa2t4ZGx6ubxxxyyyzzz-itojFFJFMooj",
      "preauth_url" : "https://dataaccess.adb.us-phoenix-1.oraclecloudapps.com/adb/p/QHD_Yvonle1eUCoxbN6bO...xyzabcFQEg/data",
      "member_ids" :
      [
        "zAhrHMBwknDwmmA7Nh4fR3-Wuva6io_3y-Vv-iZNNc8XplGDxyxabc7SXf5xLmFGY",
        "JKYigWp5fvAftcRsuoFeaZx2JqMn9yk71KtEleBMWZ8XcDWxyzabcPKGOTJRHVu"
      ],
      "expiration_ts" : "2025-08-07T00:37:00.214Z"
    }

Note: You can use DBMS_DATA_ACCESS.LIST_ACTIVE_URLS and DBMS_DATA_ACCESS.LIST_MEMBERS to list Table Hyperlink Groups and Table Hyperlink Group members. See List Table Hyperlinks, Groups, and Group Members for more information.

Notes for creating a Table Hyperlink Group:

Add a Table Hyperlink Group Member

At any time a user with appropriate privileges can add a member to a Table Hyperlink Group.

Use DBMS_DATA_ACCESS.ADD_MEMBER to add an existing Table Hyperlink to a group. For example:

DECLARE
    status CLOB;
    BEGIN
       DBMS_DATA_ACCESS.ADD_MEMBER(
        id => 'Vd1Px7QWASdqDbnndiuwTAyyEstv82PCHqS_example',
        member_id => 'Zdd1Px7QWASdqDbnndiuwTAyyEstv82PCHlS_example',
        result => status);
       dbms_output.put_line(status);
    END;
/

The parameters are:

See ADD_MEMBER Procedure for more information.

Remove a Table Hyperlink Group Member

At any time a user with appropriate privileges can remove a member from a Table Hyperlink Group.

Use DBMS_DATA_ACCESS.REMOVE_MEMBER to remove a member from a Table Hyperlink Group. For example:

DECLARE
    status CLOB;
    BEGIN
       DBMS_DATA_ACCESS.REMOVE_MEMBER(
        id => 'Vd1Px7QWASdqDbnndiuwTAyyEstv82PCHqS_example',
        member_id => 'Zdd1Px7QWASdqDbnndiuwTAyyEstv82PCHlS_example',
        result => status);
       dbms_output.put_line(status);
    END;
/

The parameters are:

Notes for removing a member:

See REMOVE_MEMBER Procedure for more information.

Invalidate a Table Hyperlink Group

At any time a user with appropriate privileges can invalidate a Table Hyperlink Group.

Use DBMS_DATA_ACCESS.INVALIDATE_URL to invalidate a Table Hyperlink Group. For example:

DECLARE
    status CLOB;
    BEGIN
       DBMS_DATA_ACCESS.INVALIDATE_URL(
        id => 'Vd1Px7QWASdqDbnndiuwTAyyEstv82PCHqS_example',
        result => status);
       dbms_output.put_line(status);
    END;
/

The parameters are:

Note: When the DBMS_DATA_ACCESS.INVALIDATE_URL id parameter is a Table Hyperlink Group, the procedure invalidates the group and all the group members, with the exception of any group members that were added with DBMS_DATA_ACCESS.ADD_MEMBER. After you run DBMS_DATA_ACCESS.INVALIDATE_URL, the members that were added with DBMS_DATA_ACCESS.ADD_MEMBER maintain their independent Table Hyperlink invalidation values and you can invalidate these Table Hyperlinks individually using DBMS_DATA_ACCESS.INVALIDATE_URL.

See INVALIDATE_URL Procedure for more information.