<budget_name>!ADD_TAG

カスタム予算にタグを追加します。タグは 参照 で追加する必要があります。

こちらもご参照ください。

<budget_name>!REMOVE_TAG<budget_name>!GET_LINKED_TAGS

構文

<budget_name>!ADD_TAG(
    { '<tag_reference>' | <reference_statement> },
    '<tag_value>')
Copy

引数

'tag_reference'

タグに解決されるシリアル化された文字列表現。この文字列は SYSTEM$REFERENCE 関数の出力です。

reference_statement

予算に追加するタグの参照を作成する SYSTEM$REFERENCE ステートメント。

'tag_value'

予算に追加するタグの値。

戻り値

タグが正常に予算に追加されたかどうかを示す VARCHAR 値を返します。

タグを予算に追加できなかった場合、関数はエラーメッセージを返します。

アクセス制御の要件

カスタム予算でこのメソッドを呼び出すには、以下の権限とロールが必要です。

  • 予算インスタンスの ADMIN インスタンスロール

  • 予算インスタンスを含んでいるデータベースとスキーマに対する USAGE 権限。

  • タグを含むデータベースとスキーマに対する USAGE 権限。

  • 追加されたタグに対する APPLYBUDGET 権限。

詳細については、 Budgetのロールと権限 をご参照ください。

使用上の注意

  • カスタム予算 にはタグのみを追加できます。

  • このメソッドを呼び出しても、オブジェクトは返されません。このため、メソッドの連結を使って、このメソッドの戻り値で別のメソッドを呼び出すことはできません。換わりに、各メソッドを別々の SQL ステートメントで呼び出します。

メソッドを呼び出してタグを追加する前に、タグ参照を取得します。

以下のステートメントでは、 cost_center タグの参照を作成して返します。

SELECT SYSTEM$REFERENCE(
  'TAG',
  'cost_mgmt_db.tags.cost_center',
  'SESSION',
  'APPLYBUDGET');
Copy

ステートメントは出力に参照を返します。

ENT_REF_TAG_10382726315710_8A8626AE765E29446C38A217CAD093FCC9A454C2

次のステートメントは、この参照に文字列リテラルを使用して、 cost_center = 'sales' タグ/値の組み合わせを budget_db.budget_schema.my_budget 予算に追加します。

CALL budget_db.budget_schema.my_budget!ADD_TAG(
  'ENT_REF_TAG_10382726315710_8A8626AE765E29446C38A217CAD093FCC9A454C2',
  'sales');
Copy
引数に SYSTEM$REFERENCE 関数を直接含める

次のステートメントを実行すると、予算はタグ/値の組み合わせ team_tag = 'finance' でタグ付けされているすべてのオブジェクトを追跡します。

CALL budget_db.budget_schema.my_budget!ADD_TAG(
    (SELECT SYSTEM$REFERENCE('TAG', 'cost_mgmt_db.tags.team_tag', 'SESSION', 'APPLYBUDGET')),
    'finance');
Copy