SECLABEL_BY_NAME スカラー関数

SECLABEL_BY_NAME 関数は、指定されたセキュリティー・ラベルを戻します。 戻されたセキュリティー・ラベルは、DB2SECURITYLABEL のデータ・タイプをもっています。 名前付きのセキュリティー・ラベルを挿入するには、この関数を使用します。

Read syntax diagramSkip visual syntax diagramSECLABEL_BY_NAME(security-policy-name ,security-label-name)

スキーマは 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