SHOW DATA METRIC FUNCTIONS

Répertorie les fonctions de métrique des données (DMFs) pour lesquelles vous avez des privilèges d’accès.

Vous pouvez utiliser cette commande pour répertorier les DMFs de la base de données et du schéma actuels de la session, d’une base de données ou d’un schéma spécifique ou de l’ensemble de votre compte.

Voir aussi :

CREATE DATA METRIC FUNCTION , ALTER FUNCTION (DMF), DESCRIBE FUNCTION (DMF) , DROP FUNCTION (DMF)

Syntaxe

SHOW DATA METRIC FUNCTIONS
  [ LIKE '<pattern>' ]
  [ IN
      {
        ACCOUNT                  |

        DATABASE                 |
        DATABASE <database_name> |

        SCHEMA                   |
        SCHEMA <schema_name>     |
        <schema_name>
      }
  ]
  [ STARTS WITH '<name_string>' ]
Copy

Paramètres

LIKE 'pattern'

(Facultatif) Filtre la sortie de commande par nom d’objet. Le filtre utilise une concordance de motif insensible à la casse avec prise en charge des caractères génériques SQL (% et _).

Par exemple, les motifs suivants donnent les mêmes résultats :

... LIKE '%testing%' ...
... LIKE '%TESTING%' ...

. Par défaut : aucune valeur (aucun filtrage n’est appliqué à la sortie).

[ IN ... ]

Spécifie de manière facultative la portée de la commande. Spécifie l’un des éléments suivants :

ACCOUNT

Renvoie les enregistrements pour l’ensemble du compte.

DATABASE, . DATABASE db_name

Renvoie les enregistrements pour la base de données en cours d’utilisation ou pour une base de données spécifiée (db_name).

Si vous spécifiez DATABASE sans db_name et qu’aucune base de données n’est utilisée, le mot-clé n’a aucun effet sur la sortie.

SCHEMA, . SCHEMA schema_name, . schema_name

Renvoie les enregistrements pour le schéma en cours d’utilisation ou un schéma spécifié (schema_name).

SCHEMA est facultatif si une base de données est utilisée ou si vous spécifiez le schema_name complet (par exemple, db.schema).

Si aucune base de données n’est utilisée, spécifier SCHEMA n’a aucun effet sur la sortie.

Par défaut : dépend si la session dispose actuellement d’une base de données en cours d’utilisation :

  • Base de données : DATABASE est la valeur par défaut (c’est-à-dire que la commande renvoie les objets que vous pouvez visualiser dans la base de données).

  • Aucune base de données : ACCOUNT est la valeur par défaut (c’est-à-dire que la commande renvoie les objets que vous pouvez visualiser dans votre compte).

STARTS WITH 'name_string'

(Facultatif) Filtre la sortie de commande en fonction des caractères qui apparaissent au début du nom de l’objet. La chaîne doit être délimitée par des guillemets simples et est sensible à la casse.

Par exemple, les chaînes suivantes renvoient des résultats différents :

... STARTS WITH 'B' ...
... STARTS WITH 'b' ...

. Par défaut : aucune valeur (aucun filtrage n’est appliqué à la sortie)

Sortie

La sortie de la commande fournit les propriétés et les métadonnées de la DMF dans les colonnes suivantes :

Colonne

Description

created_on

Horodatage auquel la fonction a été créée.

name

Nom de la fonction.

schema_name

Nom du schéma dans lequel la fonction existe. (NULL pour les fonctions intégrées.)

is_builtin

Y (oui) si la fonction est une fonction intégrée ; N (non) dans les autres cas.

is_aggregate

Y (oui) si la fonction est une fonction d’agrégation ; N (non) dans les autres cas.

is_ansi

Y (oui) si la fonction est définie comme faisant partie de la norme ANSI SQL ; N (non) dans les autres cas.

min_num_arguments

Nombre minimum d’arguments.

max_num_arguments

Nombre maximum d’arguments.

arguments

Affiche les types de données des arguments et de la valeur de retour.

description

Description de la fonction.

catalog_name

Nom de la base de données dans laquelle la fonction existe. (NULL pour les fonctions intégrées.)

is_table_function

Y (oui) si la fonction est une fonction de table ; N (non) dans les autres cas.

valid_for_clustering

Y (oui) si la fonction peut être utilisée dans une expression CLUSTER BY ; N (non) dans les autres cas.

is_secure

Y (oui) si la fonction est une fonction sécurisée ; N (non) dans les autres cas.

is_external_function

Y (oui) si la fonction est une fonction externe ; N (non) dans les autres cas.

language

  • Pour les fonctions intégrées, cette colonne indique SQL.

  • Pour les fonctions définies par l’utilisateur, cette colonne indique le langage dans lequel la fonction a été écrite, par exemple, JAVASCRIPT ou SQL.

  • Pour les fonctions externes, cette colonne indique EXTERNAL.

is_memoizable

Y (oui) si la fonction est mémoïsable, N (non) sinon.

is_data_metric

Y (oui) si la fonction est une DMF ; N (non) dans les autres cas.

Exigences en matière de contrôle d’accès

Un rôle utilisé pour exécuter cette commande SQL doit avoir les privilèges suivants définis au minimum ainsi :

Privilège

Objet

Remarques

USAGE

Fonction de métrique des données

Notez que l’exploitation d’un objet dans un schéma requiert également le privilège USAGE sur la base de données et le schéma parents.

Pour obtenir des instructions sur la création d’un rôle personnalisé avec un ensemble spécifique de privilèges, voir Création de rôles personnalisés.

Pour des informations générales sur les rôles et les privilèges accordés pour effectuer des actions SQL sur des objets sécurisables, voir Aperçu du contrôle d’accès.

Notes sur l’utilisation

  • Les colonnes qui commencent par le préfixe is_ renvoient soit Y (oui), soit N (non).

  • L’exécution de la commande ne nécessite pas un entrepôt virtuel en cours d’exécution.

  • La commande retourne un maximum de 10 000 enregistrements pour le type d’objet spécifié, comme dicté par les privilèges d’accès pour le rôle utilisé pour exécuter la commande ; tous les enregistrements au-dessus de la limite de 10 000 enregistrements ne sont pas retournés, même avec un filtre appliqué.

    Pour afficher les résultats pour lesquels il existe plus de 10 000 enregistrements, interrogez la vue correspondante (s’il en existe une) dans Schéma d’information de Snowflake.

  • Pour post-traiter la sortie de cette commande, vous pouvez utiliser la fonction RESULT_SCAN, qui traite la sortie comme une table qui peut être interrogée.

Exemples

L’exemple suivant répertorie les DMFs que vous avez le privilège d’afficher dans le schéma dmfs de la base de données governance :

USE SCHEMA governance.dmfs;

SHOW DATA METRIC FUNCTIONS;
Copy
+--------------------------+------------------------+-------------+------------+--------------+---------+-------------------+-------------------+--------------------------------------------------------------------------------------------+-----------------------+--------------+-------------------+----------------------+-----------+----------------------+----------+---------------+----------------+
| created_on               | name                   | schema_name | is_builtin | is_aggregate | is_ansi | min_num_arguments | max_num_arguments | arguments                                                                                  | description           | catalog_name | is_table_function | valid_for_clustering | is_secure | is_external_function | language | is_memoizable | is_data_metric |
+--------------------------+------------------------+-------------+------------+--------------+---------+-------------------+-------------------+--------------------------------------------------------------------------------------------+-----------------------+--------------+-------------------+----------------------+-----------+----------------------+----------+---------------+----------------+
| 2023-12-11T23:30:02.785Z | COUNT_POSITIVE_NUMBERS | DMFS        | N          | N            | N       | 1                 | 1                 | "COUNT_POSITIVE_NUMBERS(TABLE(NUMBER, NUMBER, NUMBER)) RETURNS NUMBER"                     | user-defined function | GOVERNANCE   | N                 | N                    | N         | N                    | SQL      | N             | Y              |
+--------------------------+------------------------+-------------+------------+--------------+---------+-------------------+-------------------+--------------------------------------------------------------------------------------------+-----------------------+--------------+-------------------+----------------------+-----------+----------------------+----------+---------------+----------------+