PL/pgSQL aide fonction

Signaler
Messages postés
5
Date d'inscription
samedi 10 avril 2021
Statut
Membre
Dernière intervention
30 avril 2021
-
Messages postés
15395
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
30 avril 2021
-
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

Messages postés
15395
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
30 avril 2021
844
bonjour,
ne s'agit-il pas alors de PostgreSQL, et pas de SQL Server?
Messages postés
15395
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
30 avril 2021
844
les deux techniques sont utilisables.
ceci t'aidera peut-être: https://public.dalibo.com/exports/formation/manuels/modules/p1/p1.handout.html
Messages postés
5
Date d'inscription
samedi 10 avril 2021
Statut
Membre
Dernière intervention
30 avril 2021
>
Messages postés
15395
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
30 avril 2021

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
Messages postés
15395
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
30 avril 2021
844 >
Messages postés
5
Date d'inscription
samedi 10 avril 2021
Statut
Membre
Dernière intervention
30 avril 2021

boolean
Messages postés
5
Date d'inscription
samedi 10 avril 2021
Statut
Membre
Dernière intervention
30 avril 2021

Bonjour,
j'utilise PostgreSQL