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

SQL Oracle Discussion :

currval, nextval et C#


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 139
    Points : 68
    Points
    68
    Par défaut currval, nextval et C#
    Bonsoir,

    j'ai une table LOT_LOT et une séquence S_LOT_LOT

    dans mon programme C#, j'exécute la requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select S_LOT_LOT.nextval from dual
    puis j'exécute mon insert aec mon programme C#:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into LOT_LOT (TIE_ID,LOT_NUMERO) select :P1,(select (S_LOT_LOT.CURRVAL) as nb from dual) from dual
    j'affecte P1 à 1 et au final j'obtiens l'erreur :
    ORA-02287: numéro de séquence non autorisé ici


    Je teste la requête avec toad où j'avais d'abord fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select S_LOT_LOT.nextval from dual

    puis la requête insert:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    insert into LOT_LOT 
    (TIE_ID,LOT_NUMERO) 
    select 
    1,(select S_LOT_LOT.CURRVAL from dual)  
    from dual
    j'obtiens l'erreur :
    ORA-02287: numéro de séquence non autorisé ici

    je teste avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    insert into LOT_LOT 
    (TIE_ID,LOT_NUMERO) 
    select 
    1,(select S_LOT_LOT.nextval from dual)  
    from dual
    et j'obtiens encore l'erreur :
    ORA-02287: numéro de séquence non autorisé ici

    Je n'arrive pas du tout à insérer de lignes avec ces requêtes même en testant avec toad, je suis débutant sur oracle et je travaillais sur sql server où j'utilisais IDENT_CURRENT mais je dois migrer sur oracle et j'ai des problèmes avec ces insertions.

    MErci d'avance pour votre compréhension

    PS: pour l'auto-incrémentation, un trigger est déjà fait

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Vous faites trop d'étapes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO LOT_LOT (TIE_ID,LOT_NUMERO) 
    VALUES (1, S_LOT_LOT.NEXTVAL)

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 139
    Points : 68
    Points
    68
    Par défaut
    Merci beaucoup pour votre réponse, ça marche

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

Discussions similaires

  1. Sequence Nextval et Currval
    Par Identifiant dans le forum PL/SQL
    Réponses: 10
    Dernier message: 28/04/2009, 13h34
  2. oracle 9 & hibernate : CURRVAL & NEXTVAL
    Par jpalcluc dans le forum Hibernate
    Réponses: 4
    Dernier message: 10/08/2007, 12h01
  3. [nextval, currval] Précisions
    Par vincent.e dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 31/03/2006, 14h40
  4. currval, nextval avec postgresql 7.3??
    Par imer5 dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 30/03/2005, 16h28
  5. equivalent de select nextval from dual en SQL-Server ?
    Par toze dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 15/10/2003, 09h17

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