3.2.3 外部表のアクセス権限

表に対するアクセス権限には,次の表に示す4種類があります。

表3-3 アクセス権限の種類

アクセス権限の種類説明外部表での使用可否
SELECT権限表に存在する行を検索します。
INSERT権限表へ行を追加します。
UPDATE権限表の列の値を更新します。
DELETE権限表から行を削除します。
(凡例)
○:使用できます。

外部表にアクセスするためには,外部表の基になる外部サーバ上の表に付与されたアクセス権限と同じものを外部表に付与する必要があります。外部サーバ上の表に付与されていない権限を外部表に対して与えた場合,実行時にエラーになります。

なお,外部表にアクセスするときは,CREATE USER MAPPING文で指定したユーザIDに対してアクセス権限を付与する必要があります。外部表へは,このときに指定したユーザIDでアクセスします。

表の所有者が持つアクセス権限とほかのユーザへのアクセス権限の操作(権限の付与,取り消し)の可否について,次の表に示します。

表3-4 表の所有者が持つアクセス権限とほかのユーザへのアクセス権限の操作の可否

表の種類表の所有者が持つ
アクセス権限
権限の付与,
取り消しの可否
実表すべてのアクセス権限
外部表すべてのアクセス権限
自分の実表または外部表から定義した読み込み専用ビュー表※1SELECT権限
自分の実表または外部表から定義した更新可能なビュー表※1すべてのアクセス権限
他人の実表または外部表から定義した読み込み専用ビュー表※1※2SELECT権限×
他人の実表または外部表から定義した更新可能なビュー表※1※2基の実表に対して持っている,すべてのアクセス権限×
(凡例)
○:アクセス権限を,ほかのHiRDBユーザに対して付与,取り消しできます。
×:アクセス権限を,ほかのHiRDBユーザに対して付与,取り消しできません。
注※1
読み込み専用ビュー表とは,次のようなビュー表をいいます。また,これ以外のビュー表を更新可能なビュー表といいます。
  • CREATE VIEW文で,READ ONLYを指定して定義したビュー表
  • CREATE VIEW文で,最も外側の問合せ指定に対する表の結合,SELECT DISTINCT,GROUP BY句,HAVING句,または集合関数を含むビュー表
  • CREATE VIEW文で,最も外側の問合せ指定のSELECT句に基の表の同一列を複数指定して定義したビュー表
  • CREATE VIEW文で,最も外側の問合せ指定のSELECT句に四則演算,日付演算,時刻演算,システム組込みスカラ関数,連結演算,CASE式,定数,USER,CURRENT DATE,またはCURRENT TIMEを含むビュー表
  • CREATE VIEW文で,最も外側の問合せ指定のFROM句に指定した表と同じ表をFROM句に指定した副問合せを含むビュー表(FROM句に指定する表がビュー表の場合,ビュー表の基となる表も含む)
  • CREATE VIEW文で集合演算(UNION ALL)を指定して定義したビュー表
注※2
他人の実表からビュー表を定義するためには,他人の実表に対するSELECT権限が必要です。