<budget_name>!ADD_RESOURCE¶
カスタム予算 にオブジェクトを追加します。オブジェクトは 参照 によって追加される必要があります。
構文¶
<budget_name>!ADD_RESOURCE( { '<object_reference>' | <reference_statement> } )
引数¶
'object_reference'
オブジェクトが解決先のシリアライズされた文字列表現。この文字列は SYSTEM$REFERENCE 関数の出力です。
reference_statement
予算に追加するオブジェクトの参照を作成する SYSTEM$REFERENCE ステートメント。
戻り値¶
Successfully added resource to resource group
アクセス制御の要件¶
カスタム予算でこのメソッドを呼び出すには、以下の権限とロールが必要です。
予算インスタンスの ADMIN インスタンスロール。
予算インスタンスを含んでいるデータベースとスキーマに対する USAGE 権限。
追加されたオブジェクト(スキーマオブジェクト向け)を含んでいるデータベースとスキーマに対する USAGE 権限。
追加されたオブジェクトに対する APPLYBUDGET 権限。
詳細については、 Budgetのロールと権限 をご参照ください。
使用上の注意¶
カスタム予算 にはオブジェクトしか追加できません。
1つのカスタム予算に追加できるのは1つのオブジェクトのみです。オブジェクトが現在1つのカスタム予算に含まれており、そのオブジェクトを2つ目のカスタム予算に追加した場合、予算は警告を出さずにオブジェクトを1つ目のカスタム予算から削除します。
SNOWFLAKE データベースの参照は作成できず、予算に追加することもできません。
このメソッドを呼び出しても、オブジェクトは返されません。このため、メソッドの連結を使って、このメソッドの戻り値で別のメソッドを呼び出すことはできません。換わりに、各メソッドを別々の SQL ステートメントで呼び出します。
例¶
オブジェクトの参照を作成し、そのオブジェクトを予算に追加します。
テーブル
t1
の参照を作成します。SELECT SYSTEM$REFERENCE('TABLE', 't1', 'SESSION', 'APPLYBUDGET');
戻り値:
ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7
スキーマ
budget_db.budget_schema
の予算my_budget
にテーブルt1
を追加します。CALL budget_db.budget_schema.my_budget!ADD_RESOURCE( 'ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7');
SYSTEM $ REFERENCE ステートメントを使用して、オブジェクトを予算に追加します。
スキーマ
budget_db.budget_schema
の予算my_budget
にテーブルt1
を追加します。CALL budget_db.budget_schema.my_budget!ADD_RESOURCE( SELECT SYSTEM$REFERENCE('TABLE', 't2', 'SESSION', 'APPLYBUDGET'));
エラーメッセージ¶
一般的なエラーメッセージのリストとその原因および解決策については、 カスタム予算からオブジェクトを追加または削除することはできません をご参照ください。