SECLABEL_BY_NAME スカラー関数
SECLABEL_BY_NAME 関数は、指定されたセキュリティー・ラベルを戻します。 戻されたセキュリティー・ラベルは、DB2SECURITYLABEL のデータ・タイプをもっています。 名前付きのセキュリティー・ラベルを挿入するには、この関数を使用します。
スキーマは SYSIBM です。
- セキュリティー・ポリシー名
- 現行のサーバーに存在するセキュリティー・ポリシーを指定するストリング (SQLSTATE 42704)。 ストリングは、文字または GRAPHIC ストリングの定数かホスト変数でなければなりません。 セキュリティー・ラベル名
- security-policy-name で指定されたセキュリティー・ポリシー用の、現行のサーバーに存在するセキュリティー・ラベルの名前を戻す式 (SQLSTATE 4274I)。 式は組み込み CHAR、VARCHAR、GRAPHIC、または VARGRAPHIC のいずれかのデータ・タイプの値を戻す必要があります。
例
次の例では、Tina が CONTRIBUTIONS という名前のセキュリティー・ポリシーで保護されている表 REGIONS 内に行を挿入しようとしています。 Tina は、EMPLOYEESECLABEL という名前のセキュリティー・ラベルで行を保護するつもりです。
- 例 1: CONTRIBUTIONS.EMPLOYEESECLABEL は不明な ID です:
INSERT INTO REGIONS VALUES (CONTRIBUTIONS.EMPLOYEESECLABEL, 1, 'Southwest') -- incorrect
- 例 2: 最初の値がストリングであり、DB2SECURITYLABEL のデータ・タイプをもっていないので、以下のステートメントは失敗します。
INSERT INTO REGIONS VALUES ('CONTRIBUTIONS.EMPLOYEESECLABEL', 1, 'Southwest') -- incorrect
- 例 2: DB2SECURITYLABEL のデータ・タイプを持つセキュリティー・ラベルが SECLABEL_BY_NAME 関数から戻されるので、以下のステートメントは正常に完了します。
INSERT INTO REGIONS VALUES (SECLABEL_BY_NAME('CONTRIBUTIONS', 'EMPLOYEESECLABEL'), 1, 'Southwest') -- correct