Bonjour,
J'essaye de définir la fonction suivante en MySQL 5.5 :
Explication : la table "tb_usr_groupe" stocke des liens entre utilisateurs et groupes. Un utilisateur peut faire partie de plusieurs groupes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 CREATE FUNCTION GroupesLies( @IDgroupe INT ) RETURNS TABLE AS RETURN (SELECT DISTINCT tb2.IDgroupe FROM tb_usr_groupe tb1 INNER JOIN tb_usr_groupe tb2 ON tb1.IDgroupe = @IDgroupe AND tb1.IDusr = tb2.IDusr ORDER BY tb2.IDgroupe)
Cette fonction prend en argument un groupe, parcourt la liste des utlisateurs de ce groupe, et renvoie la lise de tous les groupes auxquels ces utilisateurs appartiennent.
J'ai tapé la requête "SELECT DISTINCT ... ORDER BY tb2.IDgroupe" toute seule (en remplaçant "@IDgroupe" par une valeur fixe), elle fonctionne, et me renvoie le résultat attendu.
Mon problème : j'essaye de faire manger la définition de la fonction ci-dessus à mon phpmyadmin, il me dit qu'il y a une erreur de syntaxe "près de @IDgroupe INT ) ....". Je n'arrive pas à comprendre laquelle.
Merci d'avance pour votre aide,
Partager