Flashcards : Fonctions PL/pgSQL et contrats — 37 cartes

Toutes les cartes

1Question

Qu'est-ce qu'une fonction PostgreSQL ?

Réponse

Une fonction PostgreSQL reçoit des paramètres, traite et retourne un résultat typé.

2Question

Quelle est la première étape pour transformer une question répétée en fonction ?

Réponse

Définir les entrées de la fonction.

3Question

Que fait-on après avoir défini les entrées dans une fonction SQL ?

Réponse

Filtrer les données selon la question métier.

4Question

Quelle est la dernière étape dans la transformation d'une question en fonction ?

Réponse

Retourner le résultat sous un type explicite.

5Question

Que faut-il annoncer avant d'écrire une fonction ?

Réponse

Ses entrées, son résultat et son comportement en cas d'absence de données.

6Question

Que comprend le contrat d'une fonction appelable ?

Réponse

Des valeurs d'entrée nommées et typées, un bloc SQL, et une valeur de sortie compatible RETURNS.

7Question

Que signifie RETURNS integer dans une signature PL/pgSQL ?

Réponse

Un décompte entier, pas une liste de lignes ni un message d'alerte.

8Question

Quel est le rôle de DECLARE dans une fonction PL/pgSQL ?

Réponse

Préparer les variables avant le traitement.

9Question

Que délimitent BEGIN et END dans une fonction PL/pgSQL ?

Réponse

Le traitement SQL organisé de la fonction.

10Question

Que fait RETURN dans une fonction PL/pgSQL ?

Réponse

Il fournit le résultat promis au contrat.

11Question

Quelle est la différence entre un paramètre et une variable en PL/pgSQL ?

Réponse

Un paramètre est fourni par l’appelant, une variable stocke un résultat intermédiaire.

12Question

Que représente une colonne dans une ligne SQL ?

Réponse

Une colonne représente une donnée provenant d’une ligne SQL.

13Question

Quelle condition doit respecter un SELECT dans une fonction PL/pgSQL ?

Réponse

Il doit avoir une destination explicite pour ses lignes produites.

14Question

Quelle destination est généralement utilisée pour stocker le résultat d’un SELECT dans une variable ?

Réponse

La destination INTO est utilisée pour une variable.

15Question

Quelle destination est utilisée pour retourner un résultat tabulaire dans une fonction ?

Réponse

RETURN QUERY est utilisé pour un retour tabulaire.

16Question

Comment s’effectue le transfert des données d’un résultat SQL vers l’appelant ?

Réponse

D’abord INTO transfère vers une variable PL/pgSQL, puis RETURN transfère vers l’appelant.

17Question

Que retourne don.stock_disponible pour un groupe et type produit donnés ?

Réponse

Le nombre entier de poches disponibles après recherche et comptage.

18Question

Que provoque un groupe inconnu dans don.stock_disponible ?

Réponse

Un RETURN NULL est produit.

19Question

Que retourne don.stock_disponible si le groupe est connu mais sans poche disponible ?

Réponse

La fonction retourne 0.

20Question

Quel résultat donne don.stock_disponible('O-', 'CGR') si le groupe est connu avec stock ?

Réponse

La fonction retourne 16.

21Question

Que fait COALESCE(v_stock, 0) dans don.stock_disponible ?

Réponse

Il transforme NULL en zéro.

22Question

Quel risque présente COALESCE(v_stock, 0) pour un groupe mal orthographié ?

Réponse

Il peut faire passer ce groupe pour un groupe sans stock.

23Question

Qu'est-ce que la fonction EXISTS retourne ?

Réponse

Un booléen indiquant si au moins une ligne satisfait la requête.

24Question

Que retourne la fonction don.site_a_collecte(p_site_id, p_jour) ?

Réponse

Un booléen indiquant si une collecte a eu lieu pour un site et une date.

25Question

Quel type de retour convient pour un décompte en SQL ?

Réponse

Le type COUNT convient pour un décompte.

26Question

Quel type de retour convient pour vérifier une existence en SQL ?

Réponse

Le type EXISTS convient pour une existence.

27Question

Quel type de retour convient pour retourner une liste de poches ?

Réponse

Le type RETURN QUERY convient pour une liste de poches.

28Question

Quelles étapes suivre pour prédire le résultat d'une fonction SQL ?

Réponse

Suivre paramètres, FROM, JOIN, WHERE, expression, variable cible, et RETURNS.

29Question

Quelle condition doit respecter une requête SELECT INTO selon le grain métier ?

Réponse

Un agrégat peut produire un total unique, pas plusieurs lignes en un seul résultat.

30Question

Comment obtenir le dernier don d'un donneur dans une requête ?

Réponse

Sélectionner volume, ordonner par horodatage décroissant, limiter à une ligne, vérifier FOUND.

31Question

Qu'impose une fonction robuste concernant ses entrées et son comportement ?

Réponse

Elle rend visibles ses entrées, son grain, la destination du résultat et son comportement dans le cas vide.

32Question

Quelle est la première étape de la méthode de conception d'une fonction ?

Réponse

Paramétrer la question métier.

33Question

Que doit couvrir un appel de test ?

Réponse

Un cas normal et au moins un cas limite qui explicite le contrat.

34Question

Quelle différence principale existe entre une fonction et une procédure en SQL ?

Réponse

La fonction est appelée dans SELECT et retourne un résultat, la procédure est appelée avec CALL et organise une action ou un effet de bord.

35Question

Quels éléments une fonction robuste doit-elle rendre visibles ?

Réponse

Ses entrées, son grain, la destination du résultat, son comportement dans le cas vide et les tests du contrat.

36Question

Quels types doit-on définir dans la méthode de conception ?

Réponse

Les types des entrées, des variables et de la sortie.

37Question

Que fait-on après avoir calculé dans une requête avec destination explicite ?

Réponse

On retourne un résultat compatible même dans le cas vide.

Teste-toi avec le QCM

Teste tes connaissances avec un QCM de 17 questions sur Fonctions PL/pgSQL et contrats.

1. Quel est le rôle général d’une fonction PostgreSQL encapsulant une question SQL répétée ?

2. Quelle séquence correspond à la transformation d’une question métier répétée en fonction PostgreSQL ?

Faire le QCM →

Consultez la fiche

Révisez le cours complet dans la fiche de révision de Fonctions PL/pgSQL et contrats.

Voir la fiche →

Cours similaires

Crée tes propres flashcards

Importe ton cours et l'IA génère des flashcards en 30 secondes.

Générateur de flashcards