<nom_budget>!REMOVE_RESOURCE¶
Supprimer un objet d’un budget personnalisé. L’objet doit être supprimé par référence.
Syntaxe¶
<budget_name>!REMOVE_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 à retirer du budget.
Note
Si vous souhaitez ajouter une Snowflake Native App à un budget, lorsque vous appelez SYSTEM$REFERENCE, spécifiez 'DATABASE'
(et non 'APPLICATION'
) pour l’argument object_type
.
Renvoie¶
Renvoie une valeur VARCHAR qui indique si l’objet a été retiré avec succès du budget. Par exemple :
Successfully removed resource from resource group
Si l’objet n’a pas pu être retiré du budget, la fonction renvoie un message d’erreur. Voir Vous ne pouvez pas ajouter ou supprimer des objets d’un budget personnalisé.
Exigences en matière de contrôle d’accès¶
Les privilèges et rôles minimaux suivants sont nécessaires pour appeler cette méthode sur un budget personnalisé :
Rôle d’instance ADMIN <label-budgets_instance_roles> pour l’instance de budget.
Privilège USAGE sur la base de données et le schéma contenant l’instance de budget.
Privilège USAGE sur la base de données et le schéma qui contiennent l’objet (pour les objets de schéma).
Privilège APPLYBUDGET sur l’objet en cours de retrait.
Pour plus d’informations, voir Rôles et privilèges Budgets.
Notes sur l’utilisation¶
Cette méthode ne peut être appelée que pour les instances de budget personnalisé.
Le fait d’appeler cette méthode ne renvoie pas l’objet. Pour cette raison, vous ne pouvez pas utiliser le chaînage de méthodes pour appeler une autre méthode sur la valeur de retour de cette méthode. Au lieu de cela, appelez chaque méthode dans une instruction SQL distincte.
Exemples¶
Les exemples suivants montrent comment retirer un objet d’un budget personnalisé :
Supprimer une table d’un budget¶
L’exemple suivant crée et renvoie une référence pour la table
t1
:SELECT SYSTEM$REFERENCE('TABLE', 't1', 'SESSION', 'APPLYBUDGET');
L’instruction renvoie la référence dans la sortie.
ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7
L’instruction suivante utilise le littéral de chaîne pour cette référence afin de supprimer la
t1
table dubudget_db.budget_schema.my_budget
budget :CALL budget_db.budget_schema.my_budget!REMOVE_RESOURCE( 'ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7');
L’exemple suivant supprime la
t2
table dubudget_db.budget_schema.my_budget
budget, en utilisant une instruction SQL pour spécifier la référence :CALL budget_db.budget_schema.my_budget!REMOVE_RESOURCE( SELECT SYSTEM$REFERENCE('TABLE', 't2', 'SESSION', 'APPLYBUDGET')
Supprimer une Snowflake Native App d’un budget¶
L’exemple suivant supprime l’application my_app
du budget budget_db.budget_schema.my_budget
.
Notez que lorsque vous appelez SYSTEM$REFERENCE, vous devez transférer 'DATABASE'
(et non 'APPLICATION'
) pour object_type
l’argument.
CALL budget_db.budget_schema.my_budget!REMOVE_RESOURCE(
SELECT SYSTEM$REFERENCE('DATABASE', 'my_app', 'SESSION', 'APPLYBUDGET'));
Messages d’erreur¶
Pour une liste des messages d’erreur courants ainsi que leurs causes et solutions, voir Vous ne pouvez pas ajouter ou supprimer des objets d’un budget personnalisé.