Bonjour,
Mon problème est le suivant:
J'ai fait un trigger qui marche très bien sous PGAdminIII mais pas sous phpPgAdmin.
Y a-t'il quelque chose en plus à faire sous phpPgAdmin?
Merci d'avance.
Pierre
Version imprimable
Bonjour,
Mon problème est le suivant:
J'ai fait un trigger qui marche très bien sous PGAdminIII mais pas sous phpPgAdmin.
Y a-t'il quelque chose en plus à faire sous phpPgAdmin?
Merci d'avance.
Pierre
Qu'entends-tu par 'il marche très bien' ?
Bonjour,
un trigger est lié à ta base et non à l'outil qui te permet de gérer cette base. Donc il n'y a aucune raison qu'il fonctionne sous un outils et pas sous un autre...
Bonjour,
En fait je pense (mais n'en suis pas sur) que le problème vient des droits (et du fait que je n'avais pas crée le langage plpgsql).
Je suis logger en tant qu'utilisateur 'devpacivur'
Et j'ai les privileges suivants :
De plus quand je fais :Code:
1
2
3Tipo de dato Usuario/Grupo CREATE USAGE Cedente user postgres Si Si postgres public Si Si postgres
J'obtiens :Code:CREATE LANGUAGE plpgsql;
Code:
1
2
3
4
5
6 Error de SQL: ERREUR: erreur de syntaxe sur ou près de « CREATE » at character 32 En la declaración: SELECT COUNT(*) AS total FROM (CREATE LANGUAGE plpgsql) AS sub
Pierre
Tu essaie de faire quoi ici
Code:
1
2 SELECT COUNT(*) AS total FROM (CREATE LANGUAGE plpgsql) AS sub
Cette requête ne sert à rien, puisque tu essaie de compter une création d"installation de plpgsql.
Si tu est sur la même base de données, tu ne devrais avoir aucun souci.
Dit nous ce que tu fais dans pgAdminIII qui tu n'arrive pas à reproduire !
Bonjour,
Le select count (*)... c'est ce que me sort PhpPgAdmin quand j'execute :
Mon trigger (qui me met à jour une ligne après un INSERT) qui marche sous PGAdmin est :Code:CREATE LANGUAGE plpgsql;
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 CREATE OR REPLACE FUNCTION ajout_privileges() RETURNS trigger AS $BODY$ BEGIN UPDATE test_trigger SET operationid = 1 WHERE operationid = 3; RETURN NEW; END; $BODY$ LANGUAGE 'plpgsql'; CREATE TRIGGER tg_ajout_privileges AFTER INSERT ON test_trigger FOR EACH ROW EXECUTE PROCEDURE ajout_privileges();
Pierre
Bon alors, je viens d'exécuter les deux codes et cela fonctionne sans souci.
Par contre je crois comprendre que tu essayes de recréer la commandeSi tu as déjà exécuter cette commande dans PgAdminIII et que tu travailles sur la même base dans PhpPgAdmin, tu ne dois pas refaire cette commande !Code:
1
2 CREATE LANGUAGE plpgsql;
C'est phppgadmin qui génère la requête (erronée)
Ca arrive apparemment quand on coche la case pour paginer les résultats, alors qu'on a entré un ordre SQL dans lequel il n'y a pas de résultat, en tout cas pas sous la forme d'une série d'enregistrements.Code:SELECT COUNT(*) AS total FROM (CREATE LANGUAGE plpgsql) AS sub
Ceci étant, comme dit précédemment, les objets qui ont été créés avec succès avec pgadmin, ce n'est pas la peine de les recréer avec phppgadmin. Les objets sont dans la base de données elle-même, ils ne sont pas dans les outils d'accès à la base.
Bonjour,
Effectivement sans cocher 'paginer les résultats' ça marche.
Par contre je travaillais bien sur des bases différentes, une avec PgAdmin et l'autre avec PhpPgAdmin.
Merci pour votre aide.
Pierre