3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【OCI】APEXでAutonomous Database上の他のテーブルを参照・追加・更新する方法

Last updated at Posted at 2024-02-06

はじめに

Oracle Cloud Infrastructure(OCI)のAutonomous Database (ADB)でテーブルを作成した際に、そのテーブルをAPEXでも参照や変更する方法についてご紹介します。

アクセス権限の付与

今回ご紹介する方法としては、APEXのユーザーに対象のテーブルのアクセス権限を付与することです。
アクセス権限の付与に関しては、ADBやAPEXに限った話ではなく、データベースに従事する方であれば基本的な操作になります。

■ 前提条件
・ADB上で対象のテーブルを作成
 ADMINユーザーで対象のテーブル「Test_Table」を作成しています。
 カラムは、Test_ID(CHAR型)、Name(VARCHAR型)で設定しています。

・APEXでワークスペースを作成
 APEXでワークスペース作成時のユーザー名を「TestUser」と設定しています。

1. アクセス権の付与
今回は、ADBの機能のDatabase ActionsでSQL文を実行し、アクセス権の付与を行っていきます。
まず、OCIのコンソール上で利用するADBのDatabase Actionsを開きます。
image.png

次に対象のテーブルへのアクセス権限を保有するユーザーを選択し、ワークシートにSQLを入力していきます。
image.png

アクセス権限を付与するためのSQL文は以下の通りです。

アクセス権限の付加
GRANT <権限名> ON <オブジェクト名>
      TO <スキーマ名>;

また権限名については以下を参照してください。

権限名 説明
SELECT データの参照
UPDATE データの更新
INSERT データの追加
DELETE データの削除
REFERENCES 他テーブルの外部キーを作成
ALL 全ての操作

今回はAPEX上で、別スキーマのADBの表からデータを 参照・更新・追加 するための権限を付与していきます。
ここで注意する点としては、APEXでワークスペースを作成するときに入力したユーザーへ権限を付与するのではなく、そのユーザー名の接頭辞に「WKSP_」と付いたユーザーに権限を付与する必要があります。
APEXのユーザーの詳細については、以下の記事の「APEXで使用されるユーザーについて」の項をご参照ください。

上記を元にSQL文を作成し、Database ActionsでSQL文を実行していきます。

参照・更新・追加の権限の付加
GRANT SELECT, UPDATE, INSERT ON ADMIN.Test_Table
      TO WKSP_TestUser;

2. APEX上で表へのアクセスができるか確認する
APEXのワークスペースを開き、SQLワークショップ > SQLコマンド を開きます。
image.png

以下のINSERT文を実行し、「ADMIN」ユーザーの「Test_ID」表にデータを追加します。

INSERT INTO ADMIN.Test_Table VALUES(1, 'APEX');

INSERT文が正しく実行されているか確認するために、SELECT文でデータを確認します。

SELECT * FROM ADMIN.Test_Table;

表にデータが格納されていることが分かりました。
image.png

次にUPDATE文で格納されているデータを更新します。

UPDATE ADMIN.Test_Table SET test_id = 2, name = 'Update_Apex' WHERE test_id = 1;

再度SELECT文で確認してみると、データが更新されていることが分かります。
image.png

おわりに

今回はAPEXユーザーに権限を付与した後に、SQLコマンドで実際にADB上の他のテーブルへのアクセスを確認しましたが、APEXのアプリケーションでも同様に参照・追加・更新ができるようになっています。
APEXでアプリケーションを作成する上での一助になれば幸いです。

3
4
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
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?