IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

php + oci8 - Récuperer l'id du dernier enregistrement inséré


Sujet :

Oracle

  1. #1
    Membre expérimenté
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Points : 1 341
    Points
    1 341
    Par défaut php + oci8 - Récuperer l'id du dernier enregistrement inséré
    Voilà, ca à l'air franchement bête comme question, mais comment je peux faire, en php/oracle pour récuperer l'identifiant du dernier enregistrement créé comme le fait par exemple la fonction mysql_insert_id();

    Bref, en d'autre terme, comment je peux simuler cette fonction avec Oracle ?

    (pour info, j'utilise Php5 et Oracle 9.i)

    Merci d'avance ;-)

  2. #2
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Il n'y a pas d'auto-ioncrement sous Oracle, on peut l'émuler ainsi :
    Comment implémenter une colonne à valeur auto-incrémentée ?

    Donc si ton champ est incrémenté via une séquence, c'est le sequence.currval qu'il faut utiliser.

    Si l'id est géré autrement, sa récupération ne pourra se faire qu'au sein même de la fonction qui l'a généré !

  3. #3
    Membre expérimenté
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Points : 1 341
    Points
    1 341
    Par défaut
    Bon... Finalement, j'ai réussi a m'en sortir en interrogeant la table all_sequences, en récupérant le champs "LAST_NUMBER".
    Ca ne me semble pas ultime comme méthode, mais je doute qu'on puisse faire vraiment mieux...

    Merci ;-))

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Ce qui revient à ce que vous conseillait de faire Xo :
    Code Xo : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT MYSEQUENCE.CURRVAL
    FROM DUAL;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 10/02/2015, 10h01
  2. récuperer l'id du dernier enregistrement mysql
    Par skouza dans le forum JDBC
    Réponses: 1
    Dernier message: 30/08/2010, 16h59
  3. dernier enregistrement inséré..
    Par questionneuse dans le forum Requêtes
    Réponses: 5
    Dernier message: 29/06/2006, 17h39
  4. Réponses: 5
    Dernier message: 29/12/2005, 08h03
  5. Réponses: 5
    Dernier message: 01/02/2005, 18h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo