Bonjour,
je m'arrache les cheveux depuis quelques temps. J'ecris actuellement une fonction en postgresql dans laquel je fais 2 insert. Je fais un insert dans une table dont la cle primaire est en Serial (auto increment.) Hors j'ai besoin de recuperer cette cle pour le 2eme insert... J'ai essayer de refaire un select ensuite du style :
Mais meme si le 1er insert a bien reussi (je verifie dans la base) la variable mavar est toujours NULL et ma function exit false.. Quand je test manuellement les commande 1 a 1 cela fonctionne...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 DECLARE mavar INTEGER; BEGIN insert into matable(monchamp) values ("toto"); select id INTO mavar from matable where monchamp= "toto"; if (mavar IS NULL) then return false; end if; /* traitement avec mavar */ END;
Je ne comprend pas ... voyez vous le probleme ? ou connaissez vous une autre technique pour faire cela ? (recuperer la derniere valeur d'un champ default)
Partager