Qu'est-ce qu'une fonction PostgreSQL ?
Une fonction PostgreSQL reçoit des paramètres, traite et retourne un résultat typé.
Quelle est la première étape pour transformer une question répétée en fonction ?
Définir les entrées de la fonction.
Que fait-on après avoir défini les entrées dans une fonction SQL ?
Filtrer les données selon la question métier.
Quelle est la dernière étape dans la transformation d'une question en fonction ?
Retourner le résultat sous un type explicite.
Que faut-il annoncer avant d'écrire une fonction ?
Ses entrées, son résultat et son comportement en cas d'absence de données.
Que comprend le contrat d'une fonction appelable ?
Des valeurs d'entrée nommées et typées, un bloc SQL, et une valeur de sortie compatible RETURNS.
Que signifie RETURNS integer dans une signature PL/pgSQL ?
Un décompte entier, pas une liste de lignes ni un message d'alerte.
Quel est le rôle de DECLARE dans une fonction PL/pgSQL ?
Préparer les variables avant le traitement.
Que délimitent BEGIN et END dans une fonction PL/pgSQL ?
Le traitement SQL organisé de la fonction.
Que fait RETURN dans une fonction PL/pgSQL ?
Il fournit le résultat promis au contrat.
Quelle est la différence entre un paramètre et une variable en PL/pgSQL ?
Un paramètre est fourni par l’appelant, une variable stocke un résultat intermédiaire.
Que représente une colonne dans une ligne SQL ?
Une colonne représente une donnée provenant d’une ligne SQL.
Quelle condition doit respecter un SELECT dans une fonction PL/pgSQL ?
Il doit avoir une destination explicite pour ses lignes produites.
Quelle destination est généralement utilisée pour stocker le résultat d’un SELECT dans une variable ?
La destination INTO est utilisée pour une variable.
Quelle destination est utilisée pour retourner un résultat tabulaire dans une fonction ?
RETURN QUERY est utilisé pour un retour tabulaire.
Comment s’effectue le transfert des données d’un résultat SQL vers l’appelant ?
D’abord INTO transfère vers une variable PL/pgSQL, puis RETURN transfère vers l’appelant.
Que retourne don.stock_disponible pour un groupe et type produit donnés ?
Le nombre entier de poches disponibles après recherche et comptage.
Que provoque un groupe inconnu dans don.stock_disponible ?
Un RETURN NULL est produit.
Que retourne don.stock_disponible si le groupe est connu mais sans poche disponible ?
La fonction retourne 0.
Quel résultat donne don.stock_disponible('O-', 'CGR') si le groupe est connu avec stock ?
La fonction retourne 16.
Que fait COALESCE(v_stock, 0) dans don.stock_disponible ?
Il transforme NULL en zéro.
Quel risque présente COALESCE(v_stock, 0) pour un groupe mal orthographié ?
Il peut faire passer ce groupe pour un groupe sans stock.
Qu'est-ce que la fonction EXISTS retourne ?
Un booléen indiquant si au moins une ligne satisfait la requête.
Que retourne la fonction don.site_a_collecte(p_site_id, p_jour) ?
Un booléen indiquant si une collecte a eu lieu pour un site et une date.
Quel type de retour convient pour un décompte en SQL ?
Le type COUNT convient pour un décompte.
Quel type de retour convient pour vérifier une existence en SQL ?
Le type EXISTS convient pour une existence.
Quel type de retour convient pour retourner une liste de poches ?
Le type RETURN QUERY convient pour une liste de poches.
Quelles étapes suivre pour prédire le résultat d'une fonction SQL ?
Suivre paramètres, FROM, JOIN, WHERE, expression, variable cible, et RETURNS.
Quelle condition doit respecter une requête SELECT INTO selon le grain métier ?
Un agrégat peut produire un total unique, pas plusieurs lignes en un seul résultat.
Comment obtenir le dernier don d'un donneur dans une requête ?
Sélectionner volume, ordonner par horodatage décroissant, limiter à une ligne, vérifier FOUND.
Qu'impose une fonction robuste concernant ses entrées et son comportement ?
Elle rend visibles ses entrées, son grain, la destination du résultat et son comportement dans le cas vide.
Quelle est la première étape de la méthode de conception d'une fonction ?
Paramétrer la question métier.
Que doit couvrir un appel de test ?
Un cas normal et au moins un cas limite qui explicite le contrat.
Quelle différence principale existe entre une fonction et une procédure en SQL ?
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.
Quels éléments une fonction robuste doit-elle rendre visibles ?
Ses entrées, son grain, la destination du résultat, son comportement dans le cas vide et les tests du contrat.
Quels types doit-on définir dans la méthode de conception ?
Les types des entrées, des variables et de la sortie.
Que fait-on après avoir calculé dans une requête avec destination explicite ?
On retourne un résultat compatible même dans le cas vide.
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 ?
Révisez le cours complet dans la fiche de révision de Fonctions PL/pgSQL et contrats.
Voir la fiche →Importe ton cours et l'IA génère des flashcards en 30 secondes.
Générateur de flashcards