PL/pgSQL aide fonction

Fermé
Teo35 Messages postés 11 Date d'inscription samedi 10 avril 2021 Statut Membre Dernière intervention 9 mai 2021 - 28 avril 2021 à 16:55
yg_be Messages postés 20738 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 novembre 2022 - 30 avril 2021 à 14:03
Bonjour,
je viens de commencer à créer des fonction en PL/pgSQL et j'ai quelques difficulté.

j'ai une table : id_auditeur, ue, note1, note2

voici la fonction à créer :
Créer une fonction qui prend trois paramètres : un code auditeur et deux codes d’unités
d’enseignement et qui retourne vrai si l’auditeur les a validés toutes les deux et faux sinon.

j'ai commencé :


create function validation (INTEGER,VARCHAR, VARCHAR) returns boolean as'
declare
auditeur alias for $1;
ue1 alias for $2;
ue2 alias for $3;

Begin
select into validation auditeur, ue
where id_auditeur = $1
and note1 >=10 or note2 >=10;


Pour moi c'est un peux flou si il faut mettre directement la condition dans Begin ou bien il faut d'abord enregistrer une requête dans une variable...

Je voudrais ajouter que je fais une formation à distance pour adulte (52 ans )juste pour le plaisir mais j'aime bien comprendre et il n'est jamais trop tard pour apprendre. Concernant les requêtes c'est ok mais le PL/pgSQL (fonction et l'utilisation des boucles) ce n'est pas trop claire pour moi.
Merci pour votre aide précieux.


Configuration: Windows / Chrome 90.0.4430.93

1 réponse

yg_be Messages postés 20738 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 novembre 2022 1 268
29 avril 2021 à 10:04
bonjour,
ne s'agit-il pas alors de PostgreSQL, et pas de SQL Server?
0
yg_be Messages postés 20738 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 novembre 2022 1 268
29 avril 2021 à 10:21
les deux techniques sont utilisables.
ceci t'aidera peut-être: https://public.dalibo.com/exports/formation/manuels/modules/p1/p1.handout.html
0
Teo35 Messages postés 11 Date d'inscription samedi 10 avril 2021 Statut Membre Dernière intervention 9 mai 2021 > yg_be Messages postés 20738 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 novembre 2022
30 avril 2021 à 12:05
Bonjour,
je vous remercie pour votre lien cela m'aide. j'aurais une question concernant %rowtype
qui sauf erreur de ma part doit servir pour stocker dans la variable une ligne complète.
J'ai crée une fonction pour avoir une ligne complète d'un auditeur en paramètre mais j'ai des erreurs. Ma table à un id_auditeur, nom, prenom, annee
Ma fonction :

create function select_auditeur(integer) returns ....... as '
declare
selected_auditeur auditeur%rowtype;
auditeur alias for $1;
begin
select *
from auditeur
into selected_auditeur
where id_auditeur = $1;
return selected_auditeur;
end' language 'plpgsql';

Quoi mettre à la première ligne returns.... vu que id_auditeur est de type integer, nom varchar etc. j'ai essayé plusieurs type mais j'ai une erreur.
merci
0
yg_be Messages postés 20738 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 novembre 2022 1 268 > Teo35 Messages postés 11 Date d'inscription samedi 10 avril 2021 Statut Membre Dernière intervention 9 mai 2021
30 avril 2021 à 14:03
boolean
0
Teo35 Messages postés 11 Date d'inscription samedi 10 avril 2021 Statut Membre Dernière intervention 9 mai 2021
29 avril 2021 à 10:25
Bonjour,
j'utilise PostgreSQL
0