★ À maîtriser
Compléments
📌 Le cast date_heure::date permet de comparer la date extraite d'un timestamp avec le paramètre p_jour de type date.
Filtrer, modifier, compter, tracer
★ À maîtriser
Compléments
BEGIN → CALL → SELECT → ROLLBACK
★ À maîtriser
🔄 Les trois cas à tester sont:
Un jour sans mesure et une station inexistante doivent tous deux produire 0 ligne modifiée sans générer d'erreur.
Compléments
Mesures présentes contre absence de mesure
★ À maîtriser
📌 Le filtre station_id = p_station_id AND date_heure::date = p_jour cible uniquement les mesures de la station et du jour demandés.
Compléments
AND = station ET jour ; OR = station OU jour
Les trois mesures témoins sont insérées dans une transaction avec des identifiants libres, puis la procédure est appelée sur la station 101 et le 1er janvier 2030 avant vérification par SELECT.
Les trois témoins représentent:
Avec le filtre correct, une seule ligne témoin devient 'controlee' et les deux autres restent 'brute'.
Trois témoins : cible, même jour, autre station ; autre jour, même station
★ À maîtriser
📌 Pour ne cibler que les lignes dont la qualité est différente de 'controlee', il faut ajouter AND qualite_validation IS DISTINCT FROM 'controlee' au filtre.
📌 En PostgreSQL, ROW_COUNT après UPDATE compte les lignes qui satisfont le WHERE, même si la valeur affectée est déjà identique.
Compléments
Lors d'un second appel sur la même station et le même jour, ROW_COUNT vaut encore 1, la trace reste identique et la donnée demeure 'controlee'.
Avec le filtre IS DISTINCT FROM, le second appel produit ROW_COUNT = 0 parce qu'aucune ligne ne satisfait encore la condition de différence.
ROW_COUNT compte les lignes ciblées, pas forcément les valeurs changées
★ À maîtriser
📌 La version ensembliste effectue un seul UPDATE et utilise le ROW_COUNT natif, tandis que la version en boucle effectue un UPDATE par ligne et incrémente un compteur manuel.
Compléments
📌 Sur trois lignes, les versions ensembliste et en boucle ont une performance identique dans cet exemple, mais leurs contrats diffèrent entre approche déclarative et approche impérative.
Un UPDATE déclaratif contre N UPDATE impératifs
| Opérateur | Cible | Effet |
|---|---|---|
| AND | Station et jour demandés | Mise à jour précise |
| OR | Station ou jour demandé | Sur-modification |
| Contrat | Lignes ciblées | Second appel |
|---|---|---|
| Marquer toutes les mesures | Toutes les lignes du filtre | ROW_COUNT = 1 |
| Marquer seulement les qualités différentes | Lignes non encore 'controlee' | ROW_COUNT = 0 |
Teste tes connaissances sur Procédures PostgreSQL et transactions avec 11 questions à choix multiples et corrections détaillées.
1. Quel est le rôle de la procédure `marquer_mesures_controlees` lorsqu’elle est appelée avec `CALL` ?
2. Que signifie la création de la procédure ciblée 'marquer_mesures_controlees' dans le contexte de gestion des mesures d'une station et d'un jour donnés ?
Mémorisez les concepts clés de Procédures PostgreSQL et transactions avec 11 flashcards interactives.
Que fait la procédure marquer_mesures_controlees en PL/pgSQL ?
Elle crée ou remplace une procédure appelée avec CALL pour mettre à jour la qualité des mesures.
Procédure ciblée
Met à jour la qualité des mesures pour station et jour.
Quel est le rôle de RAISE NOTICE dans la procédure ?
Il affiche un message informatif sans interrompre l'exécution.
Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.
Générateur de fiches