スケーラブルデータベースサーバ HiRDB Version 8 システム運用ガイド(UNIX(R)用)

[目次][索引][前へ][次へ]

25.5.2 表のアクセス権限情報を取得する方法

ディクショナリ表SQL_TABLE_PRIVILEGESを検索して,表のアクセス権限情報を取得してください。ディクショナリ表SQL_TABLE_PRIVILEGESを検索して,表のアクセス権限情報を取得するSQLの例を次に示します。

(例)
SELECT  TABLE_SCHEMA, TABLE_NAME, GRANTOR, GRANTEE, SELECT_PRIVILEGE,
    INSERT_PRIVILEGE,DELETE_PRIVILEGE, UPDATE_PRIVILEGE, GRANTEE_TYPE
  FROM MASTER.SQL_TABLE_PRIVILEGES
       WHERE TABLE_SCHEMA <> 'HiRDB'
         AND ( (GRANTEE_TYPE IS NULL AND GRANTEE IN (USER,'PUBLIC'))
         OR (GRANTEE_TYPE='G' AND 
             IS_USER_CONTAINED_IN_HDS_GROUP(GRANTEE) IS TRUE))
 
注 IS_USER_CONTAINED_IN_HDS_GROUPはスカラ関数です。
参考
  • ユーザIDと同じ名称のロール名があり,両方に表のアクセス権限を与えている場合,表のアクセス権限情報を取得したときにどちらの情報か識別できないことがあります。識別するにはこのSQL例を実行するか,又はDABroker(バージョン02-06以降)を使用して表のアクセス権限情報を取得してください。
  • DABroker(バージョン02-06より前の場合)又はDBPARTNERを使用して表のアクセス権限情報を取得する場合,ロールに与えた表のアクセス権限情報を取得できません。