bonjour

je suis nouveau ici
je m appelle william et je commence un pojet asser important en
postgresql que j ai jaimmais utiliser

je me pose plein de question et j espere que vous pourier m aider
pour un insert j aimerai utiliser une fonction que j ai decomposer en 1
fonction qui appelle 2 sous fonction,la principale appelle addid et dpass que voici

CREATE OR REPLACE FUNCTION addid(x integer, chaine text)
RETURNS text AS
$BODY$

if x > -1:
if chaine == 'Z'
chaine[x]
chaine = addid (--x,chaine)
else :
if chaine[x]=='9'
chaine[x]='a'
else :
$chaine[x]++
return chaine

return chaine

$BODY$
LANGUAGE 'plpythonu' VOLATILE;

2 la sous fonction

CREATE OR REPLACE FUNCTION dpass()
RETURNS text AS
$BODY$

pass="";
pass[0]=random(a..z);
i=0;
while i<4
pass[I]=random(1..9);

return pass

$BODY$
LANGUAGE 'plpythonu' VOLATILE;

voici la fonction principql que j aimerai appeller en php
---------------------------------------------------------------

CREATE OR REPLACE FUNCTION add_client(nom text, prenom text, mail text)
RETURNS boolean AS
$BODY$

DECLARE
liste record;
id text;
nid text;
npass text;

begin
FOR liste IN select fin_client from index_serveur where id=1 LOOP
id=liste[0];
END LOOP;

nid=addid (5,id);
update index_serveur set fin_client=nid where id=1;

npass= dpass ();
insert into client values (nid,npass,nom,mail,'I','0','',prenom);

return true;
end
$BODY$
LANGUAGE 'plpgsql' VOLATILE;

si tout ca est accepter par l editeur de requete pgqdmin3
je ne suis pas du tout sur que ca fonctionne et que la syntaxe est bonne


question 1
----------------
est qu'on peut faire des sous fonction en postgresql

question 2
---------------
comment tester ca dans pgadmin3

question 3
--------------------
peut on appeller une fonction plpython par une fonction plpgsql

question 4
---------------
j ai reussie a me connecter en php faire un insert ou un select
mais je ne trouve pas comment appeller la fonction en php

question 5
---------------
je tester les fonction en addid et dpass en php ca fonctionne
mais je pense que l execution sera plus rapide sur le serveur sql et plus facile pour les backup ,mais une confirmation de ca serai la bienvenu

un grand merci pour votre aide d'avance

willl