<budget_name>!REMOVE_RESOURCE¶
Entfernen eines Objekts aus einem benutzerdefinierten Budget. Das Objekt muss durch Referenz entfernt werden.
Syntax¶
<budget_name>!REMOVE_RESOURCE( { '<object_reference>' | <reference_statement> } )
Argumente¶
'object_reference'
Die Darstellung einer serialisierten Zeichenfolge, die in ein Objekt aufgelöst wird. Diese Zeichenfolge ist die Ausgabe der Funktion SYSTEM$REFERENCE.
reference_statement
Eine SYSTEM$REFERENCE-Anweisung, die einen Verweis auf das Objekt erzeugt, das aus dem Budget entfernt werden soll.
Bemerkung
Wenn Sie eine Snowflake Native App zu einem Budget hinzufügen möchten, geben Sie beim Aufruf von SYSTEM$REFERENCE für das Argument object_type
'DATABASE'
(nicht 'APPLICATION'
) an.
Rückgabewerte¶
Gibt den VARCHAR-Wert zurück, der angibt, ob das Objekt erfolgreich aus dem Budget entfernt wurde oder nicht. Beispiel:
Successfully removed resource from resource group
Wenn das Objekt nicht aus dem Budget entfernt werden konnte, gibt die Funktion eine Fehlermeldung zurück. Siehe Sie können keine Objekte eines kundenspezifischen Budgets hinzufügen oder entfernen.
Anforderungen an die Zugriffssteuerung¶
Die folgenden Mindestberechtigungen und Rollen sind erforderlich, um diese Methode für ein kundenspezifisches Budget aufzurufen:
ADMIN-Instanzrolle für die Budgetinstanz.
USAGE-Berechtigung für die Datenbank und das Schema, die die Budgetinstanz enthalten.
USAGE-Berechtigung für die Datenbank und das Schema, die das Objekt enthalten (für Schemaobjekte).
APPLYBUDGET-Berechtigung für das zu entfernende Objekt.
Weitere Informationen dazu finden Sie unter Rollen und Berechtigungen für Budgets.
Nutzungshinweise¶
Diese Methode kann nur bei Instanzen des Typs kundenspezifisches Budget aufgerufen werden.
Wenn Sie diese Methode aufrufen, wird das Objekt nicht zurückgegeben. Aus diesem Grund können Sie keine Methodenverkettung verwenden, um eine andere Methode mit dem Rückgabewert dieser Methode aufzurufen. Rufen Sie jede Methode in einer separaten SQL-Anweisung auf.
Beispiele¶
Die folgenden Beispiele zeigen, wie Sie ein Objekt aus einem benutzerdefinierten Budget entfernen können:
Eine Tabelle aus einem Budget entfernen¶
Im folgenden Beispiel wird eine Referenz für die Tabelle
t1
erstellt und zurückgegeben:SELECT SYSTEM$REFERENCE('TABLE', 't1', 'SESSION', 'APPLYBUDGET');
Die Anweisung gibt die Referenz in der Ausgabe zurück.
ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7
Die folgende Anweisung verwendet das Zeichenfolgenliteral für diese Referenz, um die Tabelle
t1
aus dem Budgetbudget_db.budget_schema.my_budget
zu entfernen:CALL budget_db.budget_schema.my_budget!REMOVE_RESOURCE( 'ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7');
Das folgende Beispiel entfernt die Tabelle
t2
aus dem Budgetbudget_db.budget_schema.my_budget
und verwendet eine SQL-Anweisung, um die Referenz anzugeben:CALL budget_db.budget_schema.my_budget!REMOVE_RESOURCE( SELECT SYSTEM$REFERENCE('TABLE', 't2', 'SESSION', 'APPLYBUDGET')
Snowflake Native App aus einem Budget entfernen¶
Im folgenden Beispiel wird die Anwendung my_app
aus dem Budget von budget_db.budget_schema.my_budget
entfernt.
Beachten Sie, dass Sie beim Aufruf von SYSTEM$REFERENCE 'DATABASE'
(nicht 'APPLICATION'
) als Argument object_type
übergeben muss.
CALL budget_db.budget_schema.my_budget!REMOVE_RESOURCE(
SELECT SYSTEM$REFERENCE('DATABASE', 'my_app', 'SESSION', 'APPLYBUDGET'));
Fehlermeldungen¶
Eine Liste der häufigsten Fehlermeldungen sowie deren Ursachen und Lösungen finden Sie unter Sie können keine Objekte eines kundenspezifischen Budgets hinzufügen oder entfernen.