PL/SQLでは、ユーザーにビューに対する問い合わせ権限をどのように付与しますか。
PL/SQL でビューにアクセスする権限をユーザーに付与するには、次の手順を実行します。
- SYS ユーザーまたは SYSDBA ロールをもつユーザーとして Oracle データベースにログインします。
- 権限を与える必要があるユーザーに接続するデータベースリンクを作成します。例として、「scott」というユーザーへの接続を作成する場合:CREATE DATABASE LINK scott_connect CONNECT TO scott IDENTIFIED BY password USING ‘ORCL’;
- PL/SQLでSYSユーザーまたはSYSDBAロールを持つユーザーでscottユーザーにログインする:EXECUTE IMMEDIATE ‘ALTER SESSION SET CURRENT_SCHEMA = scott’@scott_connect;
- 例えば、”my_view”という名前のビューを作成する場合、次の CREATE VIEW ステートメントを使用します。CREATE VIEW my_view AS SELECT * FROM my_table;
- ユーザーにクエリビューの権限を付与する。例: my_viewにユーザー “alice” に権限を付与する: GRANT SELECT ON my_view TO alice;
- 変更の発行:コミット
これで、ユーザー「alice」は会話の中でビュー「my_view」を照会できます。SELECT * FROM my_view;
権限のあるユーザーが実行する必要があるため、実際の状況に合わせて調整ください。