DESCRIBE FUNCTION (DMF)¶
Décrit la fonction de métrique des données (DMF) spécifiée, y compris la signature (arguments), la valeur de retour, la langue et le corps (définition).
- Voir aussi :
Syntaxe¶
{ DESC | DESCRIBE } FUNCTION [ IF EXISTS ] <name>(
TABLE ( <arg_data_type> [ , ... ] )
)
Paramètres¶
name
Spécifie l’identificateur pour la fonction à décrire.
Si l’identificateur contient des espaces ou des caractères spéciaux, toute la chaîne doit être délimitée par des guillemets doubles. Les identificateurs entre guillemets doubles sont également sensibles à la casse.
Pour plus d’informations, voir Exigences relatives à l’identificateur.
TABLE( [ arg_data_type ] [ , ... ] )
Spécifie le type de données de l’argument ou des arguments, le cas échéant, pour l’DMF. Les types d’argument sont nécessaires, car les DMFs prennent en charge le surchargement de noms (à savoir, le fait que deux DMFs d’un même schéma puissent avoir le même nom) et les types d’argument sont utilisés pour identifier laDMF que vous souhaitez décrire.
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.
Exemple¶
Décrivez la DMF pour en voir les propriétés :
DESC FUNCTION governance.dmfs.count_positive_numbers(
TABLE(
NUMBER, NUMBER, NUMBER
)
);
+-----------+---------------------------------------------------------------------+
| property | value |
+-----------+---------------------------------------------------------------------+
| signature | (ARG_T TABLE(ARG_C1 NUMBER, ARG_C2 NUMBER, ARG_C3 NUMBER)) |
| returns | NUMBER(38,0) |
| language | SQL |
| body | SELECT COUNT(*) FROM arg_t WHERE arg_c1>0 AND arg_c2>0 AND arg_c3>0 |
+-----------+---------------------------------------------------------------------+