Vous n'êtes pas identifié(e).

#1 10/07/2009 12:24:34

pcsystemd
Membre

Fonction LAST_INSERT_ID pour un DELETE

Bonjour,

j'utilise LAST_INSERT_ID pour récuperer le dernier ID insérer dans une table. Existe t-il une fonction similaire pour DELETE du style LAST_DELETE_ID ?

En faites je dois récupérer l'id qui est delete de matable1 pour l'utiliser dans matable2 comme suit :

 

DELETE FROM matable1 WHERE  blabla="toto@liv.fr";DELETE FROM matable2 WHERE="id de matable1 correpondant a toto@liv.fr";

Merci

Dernière modification par pcsystemd (10/07/2009 12:25:26)

Hors ligne

#2 10/07/2009 17:42:35

Marc Cousin
Membre

Re : Fonction LAST_INSERT_ID pour un DELETE

- Je ne connais pas LAST_INSERT_ID sous PostgreSQL. A ma connaissance c'est une extension spécifique MySQL.
- La bonne façon de faire, de toutes façons, avec PostgreSQL, c'est d'utiliser la clause RETURNING d'INSERT ou DELETE.
Dans cet exemple :
DELETE FROM matable1 WHERE blabla="toto@liv.fr" RETURNING matable1_id;  ... puis utiliser la valeur récupérée

http://docs.postgresql.fr/8.4/sql-delete.html


Marc.

Hors ligne

#3 11/07/2009 17:29:31

pcsystemd
Membre

Re : Fonction LAST_INSERT_ID pour un DELETE

Bonjour et merci. Quand tu dis  je cite "... puis utiliser la valeur récupérée" que veus tu dire? Peux tu me donner un exemple?

Merci encore

Hors ligne

#4 11/07/2009 17:55:50

gleu
Administrateur

Re : Fonction LAST_INSERT_ID pour un DELETE

La requête « DELETE FROM matable1 WHERE blabla="toto@liv.fr" RETURNING matable1_id; » renvoie l'identifiant comme si tu avais lancé la requête « SELECT matable1_id... ».


Guillaume.

Hors ligne

Pied de page des forums