ヘッダーをスキップ
Oracle OLAP DMLリファレンス
11g リリース1(11.1)
E05732-02
  目次へ
目次
索引へ
索引

戻る
戻る
 
次へ
次へ
 

PERMITRESET

PERMITRESETコマンドは、権限条件の値を再評価するコマンドです。権限条件は、オブジェクトに関連付けられたPERMITコマンドによって使用される基準を指定する、1つ以上のブール式で構成されます。

権限条件は、ディメンション化される場合、権限のターゲットになるディメンション化されたオブジェクトのPERMITの値を示します。単一セルの権限条件では、特定のユーザーがオブジェクトにアクセスできるかどうかなどのブール基準を示すことができます。

あるオブジェクトについて既存のPERMITコマンドを維持するが、PERMITコマンドと関連付けられている権限条件を再評価する場合、PERMITRESET文を発行します。そのオブジェクトの権限は、オブジェクトをOLAP DML文で次回使用するときに、権限条件の新しい値が基準になります。


参照:

「起動プログラム」PERMITコマンドおよびPERMITERRORオプション

構文

PERMITRESET  [object_name]  [READ|WRITE]

引数

object_name

権限条件を再評価するオブジェクトの名前を指定します。オブジェクト名を指定しないと、すべてのオブジェクトの権限条件が再評価されます。

READ

権限条件の再評価を、PERMIT READコマンドのみについて、または指定したオブジェクトのPERMIT READ文について実行します。

WRITE

権限条件の再評価を、PERMIT WRITEコマンドのみについて、または指定したオブジェクトのPERMIT WRITE文について実行します。

例10-79 権限のリセット

次の例では、ユーザー定義のブール・ファンクションusercheckによって変数thisuserの現行値が確認され、その値が100より大きい場合にのみYESが返されます。変数uservarへのアクセスは、thisuser100より大きい場合にのみ許可されます。ただし、uservarの権限をリセットせずにthisuserの値を100以下に変更した場合でも、アクセスが許可されます。

次の文を発行します。

DESCRIBE uservar

生成される出力は次のとおりです。

DEFINE USERVAR VARIABLE INTEGER
PERMIT READ WHEN usercheck(thisuser)

次の文を発行します。

SHOW uservar

生成される出力は次のとおりです。

5

次の文を発行します。

DESCRIBE usercheck

生成される出力は次のとおりです。

DEFINE USERCHECK PROGRAM BOOLEAN
PROGRAM
  ARG thisuser INT
  TRAP ON errorexit NOPRINT
  IF thisuser GT 100
          THEN RETURN YES
  ELSE RETURN NO
  errorexit:
       RETURN NO
END

次の文を発行します。

DESCRIBE thisuser

生成される出力は次のとおりです。

DEFINE THISUSER VARIABLE INTEGER

次の文を発行します。

SHOW thisuser

生成される出力は次のとおりです。

101

次の文を発行します。

thisuser = 100
SHOW uservar

生成される出力は次のとおりです。

5

次の文を発行します。

PERMITRESET luservar READ
SHOW uservar

次のエラーが生成されます。

ERROR: You do not have permission to read this value of USERVAR