3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Autonomous Databaseでテーブル・ハイパーリンク・グループを作成し、共有データにアクセスしてみた

3
Posted at

はじめに

  • 2025/07のAutonomous Databaseの新機能Use Table Hyperlink Groupsは、従来からあるテーブル・ハイパーリンクの拡張機能です。
  • テーブル・ハイパーリンク・グループを使用することで、複数のオブジェクトや複数のSELECT文によって取得されたデータに対し、単一のURLからアクセスできるようになりました。様々なオブジェクトに渡る情報を1つのアクセスポイント(URL)に統合することで、データ取得を簡素化することが期待できます。

テーブル・ハイパーリンク・グループを作成

  • Autonomous Databaseの任意の、複数のオブジェクトが格納されているユーザーに接続します。

  • 下記を実行して、テーブル・ハイパーリンク・グループを作成します。スキーマには、customer_contact表とmonth_202012表があらかじめ格納してあります。

        DECLARE
       status CLOB;
       BEGIN
          DBMS_DATA_ACCESS.CREATE_URL(
              sqls => '[{"name": "customer_contact", "description": "customer contact details", "schema_object_name":"customer_contact"},
                  {"name":"sales", "description": "202012_moviesales details", "sql_statement": "select * from month_202012"}]',
              expiration_minutes   => 360,
              result               => status);
           dbms_output.put_line(status);
        END;
    /
    
  • sqlsパラメータでは、テーブル・ハイパーリンク・グループのメンバとして作成される 1つ以上のスキーマ・オブジェクトまたはSELECT文を複数記述します。

  • expiration_minutesでは、URLの有効期限を設定します。

  • 下記のようにリンクの情報が出力されます。

        {
      "status" : "SUCCESS",
      "id" : "5JfoDL1dsYThOIPGFBOgPtbiJa80eBf7rp7Yh-9dqWBaruIgCWTNfllsCus_lkjB",
      "preauth_url" : "https://dataaccess.adb.ap-tokyo-1.oraclecloudapps.com/adb/p/p2-.........VA3eUgWl82G9Pbt50orR1QLojS_WvwPTY/data",
      "member_ids" :
      [
        "Js_gyL3tbRyr0pWTOG8ahT6uxHdLAIREvPc7bpNVEFu7cBGBcJlHGPyKj3Z79jev",
        "xrNsgEZWg5mg0zjUPfCWlY-QoRmmm_pUUp4mMfnMfhJCfk8kqnw2_JA8_kKetEoo"
      ],
      "expiration_ts" : "2025-07-29T12:26:08.885Z"
    }
    
    
    PL/SQLプロシージャが正常に完了しました。
    
    経過時間: 00:00:00.485
    
    
  • 通常のテーブル・ハイパーリンクであれば出力されたリンクをブラウザにペーストすれば、共有データにアクセスできます。

  • 本機能の場合、出力されたリンクにそのままアクセスすると、以下のような表示がされます。
    画像1.png

  • このURLでは、設定したグループ内のメンバーのnameやdescription、IDがJSON形式で表示がされています。今回はメンバーは2つなので、それらの情報が表示されています。

テーブル・ハイパーリンク・グループのメンバー内のデータにアクセスする

  • グループ内のメンバー内のデータにアクセスするには、上記のリンクの末尾に

    ?member_id=[menber_id]
    

    と追記します。

  • メンバーのうち、month_202012表をSELECT文でクエリした結果のデータにアクセスします。IDは「xrNsgEZWg5mg0zjUPfCWlY-QoRmmm_pUUp4mMfnMfhJCfk8kqnw2_JA8_kKetEoo」です。

  • ブラウザにアクセスしてみます。
    画像2.png

  • テーブル・ハイパーリンク・グループ内のデータにアクセスすることができました。

  • 本機能を使うことで、様々なオブジェクトに渡る情報を単一のURL情報からアクセスすることができます。

参考情報

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?