<nom_budget>!REMOVE_RESOURCE

Supprimer un objet d’un budget personnalisé. L’objet doit être supprimé par référence.

Voir aussi :

<nom_budget>!ADD_RESOURCE, <nom_budget>!GET_LINKED_RESOURCES

Syntaxe

<budget_name>!REMOVE_RESOURCE( { '<object_reference>' | <reference_statement> } )
Copy

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.

Voir Supprimer une Snowflake Native App d’un budget.

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');
    
    Copy

    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 du budget_db.budget_schema.my_budget budget :

    CALL budget_db.budget_schema.my_budget!REMOVE_RESOURCE(
      'ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7');
    
    Copy
  • L’exemple suivant supprime la t2 table du budget_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')
    
    Copy

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'));
Copy

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é.