SA_SESSION.SET_ROW_LABELは、現在のデータベースセッションのデフォルト行ラベル値を設定します。
LABEL_DEFAULTオプションを設定すると、ユーザーが明示的にラベルを指定しない場合、挿入時にこの行ラベル値が使用されます。
SA_SESSION.SET_ROW_LABELでデフォルトの行ラベル値を設定しない場合、その値は自動的にセッションラベルから派生します。これには、セッションラベルのレベルが含まれます。
セッションラベルが変更されると、行ラベルは自動的にリセットされます。例えば、セッションレベルをHIGHLY_SENSITIVEからSENSITIVEに変更すると、行ラベルのレベルコンポーネントは自動的にSENSITIVEに変更されます。
ユーザーは行ラベルを個別に設定できますが、セッションラベルのレベル以下かつユーザーの最小レベル以上でなければなりません。
ユーザーが無効な値を行ラベルに設定しようとした場合、その操作は許可されず、行ラベル値は変更されません。
適用対象
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供します。
構文
SA_SESSION.SET_ROW_LABEL (
policy_name IN VARCHAR,
row_label IN VARCHAR);
パラメータの説明
| パラメータ | 説明 |
|---|---|
| policy_name | ポリシーを指定します。既存のポリシーを照会するには、ALL_SA_POLICIES データデータ・ディクショナリ・ビューの POLICY_NAME 列を照会してください。 |
| row_label | デフォルトの行ラベルとして設定される値。 |
例
次の例は、shield_agent_policyポリシーに行ラベルを設定する方法です。
BEGIN
SA_SESSION.SET_ROW_LABEL (
policy_name => 'shield_agent_policy',
row_label => 'L5');
END;
/