<nom_budget>!ADD_RESOURCE¶
Ajouter un objet à un budget personnalisé. L’objet doit être ajouté par référence.
Syntaxe¶
<budget_name>!ADD_RESOURCE( { '<object_reference>' | <reference_statement> } )
Arguments¶
'object_reference'
La représentation sérialisée de la chaîne qui se résout en un objet. Cette chaîne est la sortie de la fonction SYSTEM$REFERENCE.
reference_statement
Une instruction SYSTEM$REFERENCE qui crée une référence pour l’objet à ajouter au budget.
Renvoie¶
Successfully added resource to resource group
Exigences en matière de contrôle d’accès¶
Les privilèges et rôles suivants sont nécessaires pour appeler cette méthode pour un budget personnalisé :
Un rôle avec le rôle ADMIN instance pour l’instance budgétaire.
Un rôle bénéficiant du privilège USAGE sur la base de données et le schéma qui contient l’instance de budget.
Un rôle avec le privilège APPLYBUDGET sur l’objet en cours d’ajout.
Notes sur l’utilisation¶
Vous ne pouvez ajouter des objets qu’aux budgets personnalisés.
Vous ne pouvez pas créer de référence pour la base de données SNOWFLAKE, ni l’ajouter à un budget.
Exemples¶
Créer une référence pour un objet et ajouter l’objet à un budget.
Créer une référence pour la table
t1
:SELECT SYSTEM$REFERENCE('TABLE', 't1', 'SESSION', 'APPLYBUDGET');
Renvoie :
ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7
Ajouter la table
t1
au budgetmy_budget
dans le schémabudget_db.budget_schema
:CALL budget_db.budget_schema.my_budget!ADD_RESOURCE( 'ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7');
Ajouter un objet à un budget en utilisant une instruction SYSTEM$REFERENCE.
Ajouter la table
t1
au budgetmy_budget
dans le schémabudget_db.budget_schema
:CALL budget_db.budget_schema.my_budget!ADD_RESOURCE( SELECT SYSTEM$REFERENCE('TABLE', 't2', 'SESSION', 'APPLYBUDGET'));
Messages d’erreur¶
Les scénarios suivants peuvent vous aider à résoudre les problèmes pouvant survenir lors de l’ajout de ressources à un budget personnalisé.
Erreur |
Unknown user-defined function <budget_db>.<budget_schema>.ADD_RESOURCE
|
---|---|
Cause |
Le rôle que vous avez utilisé pour appeler cette méthode n’a pas le rôle d’instance ADMIN. |
Solution |
Utilisez un rôle qui possède les rôles et privilèges requis pour ajouter des objets au budget. Voir Exigences en matière de contrôle d’accès. |
Erreur |
002003 (02000): SQL compilation error:
<object_type> '<object_name>' does not exist or not authorized.
|
---|---|
Cause |
Le rôle que vous avez utilisé pour appeler cette méthode ne dispose pas du privilège APPLYBUDGET sur l’objet que vous essayez d’ajouter au budget. |
Solution |
Utilisez un rôle qui possède les rôles et privilèges requis pour ajouter des objets au budget. Voir Exigences en matière de contrôle d’accès. |
Erreur |
Uncaught exception of type 'EXPRESSION_ERROR' on line 10 at position 21 :
Privilege 'APPLYBUDGET' is not authorized on the reference object.
|
---|---|
Cause |
Si vous créez une référence pour un objet sans spécifier le paramètre PRIVILEGE dans l’instruction SYSTEM$REFERENCE. |
Solution |
Créez la référence avec le privilège APPLYBUDGET sur l’objet. |
Erreur |
505001 (55000): Uncaught exception of type 'EXPRESSION_ERROR' on line 10
at position 21 : Specified object does not exist or not authorized for
the reference.
|
---|---|
Cause |
Si vous essayez d’ajouter la base de données SNOWFLAKE à un budget personnalisé avec une instruction en ligne SYSTEM$REFERENCE. |
Solution |
La base de données SNOWFLAKE ne peut pas être ajoutée à un budget. Voir Notes sur l’utilisation ci-dessus. |