- Kategorien:
Systemfunktionen (Steuerung)
SYSTEM$SET_DEFAULT_COLUMNS_OVERRIDE_FOR_SYSTEM_OBJECT¶
Steuert die Spalten, die zurückgegeben werden sollen, wenn Sie alle Spalten (SELECT *) aus der angegebenen Snowflake-Ansicht (z. B. von einer bestimmten ACCOUNT_USAGE-Ansicht oder INFORMATION_SCHEMA-Ansicht) auswählen.
Bemerkung
Diese Funktion wirkt sich nicht auf Abfragen aus, die bestimmte Spalten aus der Ansicht auswählen.
Sie können diese Funktion aufrufen, wenn die Einführung neuer Spalten in einer Snowflake-Ansicht zu einem Problem mit einem Skript oder Code führt, das bzw. der alle Spalten auswählt und von einer festen Anzahl oder Reihenfolge der Spalten in den Ergebnissen abhängt. Siehe Umgang mit neuen Spalten in SHOW-Befehlsausgaben und Snowflake-Ansichten.
- Siehe auch:
SYSTEM$GET_DEFAULT_COLUMNS_OVERRIDE_FOR_SYSTEM_OBJECT, SYSTEM$UNSET_DEFAULT_COLUMNS_OVERRIDE_FOR_SYSTEM_OBJECT, SYSTEM$GET_ALL_DEFAULT_COLUMNS_OVERRIDES
Syntax¶
SYSTEM$SET_DEFAULT_COLUMNS_OVERRIDE_FOR_SYSTEM_OBJECT(
'<object_type>',
'<database_name>',
'<schema_name>',
'<object_name>',
'<list_of_columns>'
)
Argumente¶
'object_type'Typ des Objekts. Sie müssen
'VIEW'für dieses Argument angeben.'database_name'Name der Datenbank, die das Objekt enthält. Sie müssen
'SNOWFLAKE'oder, bei INFORMATION_SCHEMA -Ansichten, eine leere Zeichenfolge angeben.'schema_name'Name des Schemas, das das Objekt enthält. Sie müssen den Namen eines Schemas in der SNOWFLAKE-Datenbank oder in
'INFORMATION_SCHEMA'angeben.'object_name'Name des Objekts.
list_of_columnsDurch Kommas oder Leerzeichen getrennte Liste von Spalten, die zurückgegeben werden sollen, wenn Sie alle Spalten in dieser Ansicht auswählen.
Sie können die Spaltennamen in Großbuchstaben, Kleinbuchstaben oder gemischter Groß-/Kleinschreibung angeben.
Um alle Spalten zurückzugeben, geben Sie eine leere Zeichenfolge an oder rufen Sie SYSTEM$UNSET_DEFAULT_COLUMNS_OVERRIDE_FOR_SYSTEM_OBJECT auf.
Rückgabewerte¶
Gibt TRUE zurück, wenn der Vorgang erfolgreich war.
Anforderungen an die Zugriffssteuerung¶
Diese Funktion kann nur von Kontoadministratoren (d. h. Benutzer mit der Rolle ACCOUNTADMIN) aufgerufen werden.
Nutzungshinweise¶
Sie müssen eine Datenbank in Verwendung haben (z. B. durch Ausführen von USE DATABASE), um diese Funktion aufzurufen. Wenn aktuell keine Datenbank in Verwendung ist, schlägt der Funktionsaufruf fehl.
Beispiele¶
Im folgenden Beispiel werden Abfragen konfiguriert, die alle Spalten der Ansicht TABLES-Ansicht im Schema ACCOUNT_USAGE auswählen, um nur die Spalten table_name, table_schema und table_type zurückzugeben:
SELECT SYSTEM$SET_DEFAULT_COLUMNS_OVERRIDE_FOR_SYSTEM_OBJECT(
'VIEW',
'SNOWFLAKE',
'ACCOUNT_USAGE',
'TABLES',
'table_name, table_schema, table_type'
);
Wenn Sie alle Spalten aus dieser Ansicht auswählen, werden nur die angegebenen Spalten zurückgegeben:
SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.TABLES;
+------------+---------------------+------------+
| TABLE_NAME | TABLE_SCHEMA | TABLE_TYPE |
|------------+---------------------+------------|
| MY_TABLE | MY_SCHEMA | BASE TABLE |
+------------+---------------------+------------+
Im folgenden Beispiel werden Abfragen konfiguriert, die alle Spalten der Ansicht TABLES-Ansicht im Schema INFORMATION_SCHEMA auswählen, um nur die Spalten table_name, table_schema und table_type zurückzugeben:
SELECT SYSTEM$SET_DEFAULT_COLUMNS_OVERRIDE_FOR_SYSTEM_OBJECT(
'VIEW',
'',
'INFORMATION_SCHEMA',
'TABLES',
'table_name, table_schema, table_type'
);
Wenn Sie alle Spalten aus dieser Ansicht auswählen, werden nur die angegebenen Spalten zurückgegeben:
SELECT * FROM INFORMATION_SCHEMA.TABLES;
+--------------+------------+------------+
| TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE |
|--------------+------------+------------|
| MY_SCHEMA | MY_TABLE | BASE TABLE |
+--------------+------------+------------+