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 :

[PL/SQL] EXECUTE IMMEDIATE et INSERT et RETURNING


Sujet :

Oracle

  1. #1
    Membre éclairé
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2004
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Février 2004
    Messages : 644
    Points : 785
    Points
    785
    Par défaut [PL/SQL] EXECUTE IMMEDIATE et INSERT et RETURNING
    Bonjour,

    Dans mes souvenirs, je pensais qu'avec EXECUTE IMMEDIATE et l'instruction INSERT, on pouvait récupérer l'identifiant d'un nouveau record.

    Est-ce que je me trompe ?

    Je pense que c'était en employant RETURNING INTO
    Nul ne peut mieux connaitre la connaissance qu'elle-même.

  2. #2
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    http://sheikyerbouti.developpez.com/...mmediate/#L4.4

    ainsi que la doc officielle, bien sûr.
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 178
    Points : 220
    Points
    220
    Par défaut
    Par exemple :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    rbaraer@Ora10g> create table test_table(id number, constraint cp_test primary key (id));
     
    Table créée.
     
    rbaraer@Ora10g> DECLARE
       iRowId Varchar2(50 CHAR);
      2    3     iIdIn Number(10) := 5;
      4     iIdOut Number(10);
      5  BEGIN
      6     EXECUTE IMMEDIATE 'INSERT INTO test_table(id) VALUES (:1) RETURNING id, rowid INTO :2, :3' USING iIdIn RETURNING INTO iIdOut, iRowId;
      7     DBMS_OUTPUT.PUT_LINE('Id : '||iIdOut);
      8     DBMS_OUTPUT.PUT_LINE('RowId : '||iRowId);
      9  END;
     10  /
    Id : 5
    RowId : AAAG1vAARAAAAWAAAA
     
    Procédure PL/SQL terminée avec succès.
     
    rbaraer@Ora10g> select id, rowid from test_table;
     
            ID ROWID
    ---------- ------------------
             5 AAAG1vAARAAAAWAAAA
     
    rbaraer@Ora10g>
    Cordialement,

    rbaraer

Discussions similaires

  1. [Oracle 9iR2][PL/SQL] EXECUTE IMMEDIATE USING
    Par mainecoon dans le forum Oracle
    Réponses: 4
    Dernier message: 08/02/2007, 19h08
  2. [8i][PL/SQL] EXECUTE IMMEDIATE
    Par Bahan dans le forum SQL
    Réponses: 25
    Dernier message: 15/09/2006, 14h05
  3. [PL/SQL] Execute immediate
    Par BiM dans le forum Langage SQL
    Réponses: 7
    Dernier message: 10/08/2005, 11h13
  4. Equivalents de EXECUTE IMMEDIATE ... RETURNING INTO ... ?
    Par swirtel dans le forum Langage SQL
    Réponses: 4
    Dernier message: 31/05/2005, 10h21
  5. [pl/sql] execute immediate
    Par Nadine dans le forum Oracle
    Réponses: 16
    Dernier message: 23/02/2005, 17h37

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