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;
/