- Catégories :
Fonctions système (Contrôle)
SYSTEM$SET_DEFAULT_COLUMNS_OVERRIDE_FOR_SYSTEM_OBJECT¶
Contrôle les colonnes qui doivent être renvoyées lorsque vous sélectionnez toutes les colonnes (SELECT *) de la vue Snowflake spécifiée (par exemple, à partir d’une vue ACCOUNT_USAGE ou d’une vue INFORMATION_SCHEMA spécifique).
Note
Cette fonction n’affecte pas les requêtes qui sélectionnent des colonnes spécifiques dans la vue.
Vous pouvez appeler cette fonction si l’introduction de nouvelles colonnes dans une vue Snowflake introduit un problème avec un script ou un code qui sélectionne toutes les colonnes et dépend d’un nombre fixe ou d’un ordre de colonnes dans les résultats. Voir Gestion des nouvelles colonnes dans la sortie d’une commande SHOW et les vues Snowflake.
- Voir aussi :
SYSTEM$GET_DEFAULT_COLUMNS_OVERRIDE_FOR_SYSTEM_OBJECT, SYSTEM$UNSET_DEFAULT_COLUMNS_OVERRIDE_FOR_SYSTEM_OBJECT, SYSTEM$GET_ALL_DEFAULT_COLUMNS_OVERRIDES
Syntaxe¶
SYSTEM$SET_DEFAULT_COLUMNS_OVERRIDE_FOR_SYSTEM_OBJECT(
'<object_type>',
'<database_name>',
'<schema_name>',
'<object_name>',
'<list_of_columns>'
)
Arguments¶
'object_type'Type de l’objet. Vous devez spécifier
'VIEW'pour cet argument.'database_name'Nom de la base de données contenant l’objet. Vous devez spécifier
'SNOWFLAKE'ou, pour les vues INFORMATION_SCHEMA, une chaîne vide.'schema_name'Nom du schéma contenant l’objet. Vous devez spécifier le nom d’un schéma dans la base de données SNOWFLAKE ou
'INFORMATION_SCHEMA'.'object_name'Nom de l’objet.
list_of_columnsListe des colonnes, séparées par des virgules ou des espaces, qui doivent être renvoyées lorsque vous sélectionnez toutes les colonnes de cette vue.
Vous pouvez spécifier les noms des colonnes en majuscules, en minuscules ou en caractères mixtes.
Pour renvoyer toutes les colonnes, spécifiez une chaîne vide ou appelez SYSTEM$UNSET_DEFAULT_COLUMNS_OVERRIDE_FOR_SYSTEM_OBJECT.
Renvoie¶
Renvoie TRUE si l’opération a réussi.
Exigences en matière de contrôle d’accès¶
Seuls les administrateurs de compte (utilisateurs qui ont reçu le rôle ACCOUNTADMIN) peuvent appeler cette fonction.
Notes sur l’utilisation¶
Vous devez avoir une base de données en cours d’utilisation (par exemple, en exécutant USE DATABASE) pour appeler cette fonction. Si aucune base de données n’est utilisée, l’appel de la fonction échoue.
Exemples¶
L’exemple suivant configure des requêtes qui sélectionnent toutes les colonnes de la vue Vue TABLES dans le schéma ACCOUNT_USAGE pour ne renvoyer que les colonnes table_name, table_schema et table_type :
SELECT SYSTEM$SET_DEFAULT_COLUMNS_OVERRIDE_FOR_SYSTEM_OBJECT(
'VIEW',
'SNOWFLAKE',
'ACCOUNT_USAGE',
'TABLES',
'table_name, table_schema, table_type'
);
La sélection de toutes les colonnes de cette vue renvoie uniquement les colonnes spécifiées :
SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.TABLES;
+------------+---------------------+------------+
| TABLE_NAME | TABLE_SCHEMA | TABLE_TYPE |
|------------+---------------------+------------|
| MY_TABLE | MY_SCHEMA | BASE TABLE |
+------------+---------------------+------------+
L’exemple suivant configure des requêtes qui sélectionnent toutes les colonnes de la vue Vue TABLES dans le schéma INFORMATION_SCHEMA pour ne renvoyer que les colonnes table_name, table_schema et table_type :
SELECT SYSTEM$SET_DEFAULT_COLUMNS_OVERRIDE_FOR_SYSTEM_OBJECT(
'VIEW',
'',
'INFORMATION_SCHEMA',
'TABLES',
'table_name, table_schema, table_type'
);
La sélection de toutes les colonnes de cette vue renvoie uniquement les colonnes spécifiées :
SELECT * FROM INFORMATION_SCHEMA.TABLES;
+--------------+------------+------------+
| TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE |
|--------------+------------+------------|
| MY_SCHEMA | MY_TABLE | BASE TABLE |
+--------------+------------+------------+