PERMITRESETコマンドは、権限条件の値を再評価するコマンドです。権限条件は、オブジェクトに関連付けられたPERMITコマンドによって使用される基準を指定する、1つ以上のブール式で構成されます。
権限条件は、ディメンション化される場合、権限のターゲットになるディメンション化されたオブジェクトのPERMITの値を示します。単一セルの権限条件では、特定のユーザーがオブジェクトにアクセスできるかどうかなどのブール基準を示すことができます。
あるオブジェクトについて既存のPERMITコマンドを維持するが、PERMITコマンドと関連付けられている権限条件を再評価する場合、PERMITRESET文を発行します。そのオブジェクトの権限は、オブジェクトをOLAP DML文で次回使用するときに、権限条件の新しい値が基準になります。
構文
PERMITRESET [object_name] [READ|WRITE]
引数
権限条件を再評価するオブジェクトの名前を指定します。オブジェクト名を指定しないと、すべてのオブジェクトの権限条件が再評価されます。
権限条件の再評価を、PERMIT
READ
コマンドのみについて、または指定したオブジェクトのPERMIT
READ
文について実行します。
権限条件の再評価を、PERMIT
WRITE
コマンドのみについて、または指定したオブジェクトのPERMIT
WRITE
文について実行します。
例
例10-79 権限のリセット
次の例では、ユーザー定義のブール・ファンクションusercheck
によって変数thisuser
の現行値が確認され、その値が100
より大きい場合にのみYES
が返されます。変数uservar
へのアクセスは、thisuser
が100
より大きい場合にのみ許可されます。ただし、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