Y a t il une raison particulière à passer de fonction plpgslq à python ou l'inverse ? Il vaut mieux n'en garder qu'un seul (perso : plpgsql). Tu peux sans pb appeler une fonction Python dans plpgsql.
Cette partie est bizarre :
1 2 3 4 5 6
|
FOR liste IN select fin_client from index_serveur where id=1 LOOP
id=liste[0];
END LOOP;
nid=addid (5,id); |
Au début, tu recupères une valeur dans chaque ligne de ta requete et ensuite, tu n'utilises que le dernier !!!
Sur ta fonction "add_client" le type de retour est un boolean, mais tu ne renvoie que true. Ca sert peut être plus à grand chose.
De plus, tu utilises une variable id alors que dans ta requête "where id=1" tu as un id mais en tant que champs.
Je ne connais pas le Python, mais es tu sûr que la syntaxe suivante est correcte :
1 2 3
| if chaine == 'Z'
chaine[x] // <----------------- A quoi ça sert ???
chaine = addid (--x,chaine) |
Pour tester une fonction, il suffit de faire :
SELECT nomdelafonction(param1,param2,...);
Tu as du remarquer que dans pgqdmin3 la fonction a été ajouté dans la catégorie "Fonctions". Pour tester la requête, ouvre une fenêtre SQL et lance la requête ci dessus.
sous php :
$res = pg_query($cn, "SELECT nomdelafonction(param1,param2,...);");
Mais si tout ça fonctionne, Bravo !!
A+
Partager