Recupérer le resultat d'un commande UPDATE .. RESULTING ?

Bonjour,
Sans doute me proposeriez-vous une autre solution mais je cherche le moyen de récupérer la valeur retournée après un UPDATE

    $sql = "UPDATE opencpt.registre
            SET regt_nblast = regt_nblast + 1
            WHERE regt_id = " . $this->getVal("act_ref_regt_id") . "
              RETURNING  regt_nblast"
    ;

J’ai besoin dans une même transaction d’incrementer une valeur dans une table et de récuperer ce résultat.

la fonction $res = $this->f->db->query($sql); incrémente bien la valeur de la colonne,mais je ne sais pas comment retrouver cette valeur sans refaire une seconde transaction…

Je pense que ce besoin est courant , qu’est-il prévu comme autre possibilité ?

Merci encore

Bonjour,
Deux piste avec: $retour=$this->f->db->getOne($sql);

  • utiliser votre commande UPDATE
  • mettre dans le $sql un UPDATE puis un SELECT

ou si la transaction est très importante , faire un START TRANSACTION explicite en SQL et un COMMIT ou ROLLBACK à la fin. L’abstracteur de base DB pear doit également proposer des options en ce sens.