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

JDBC Java Discussion :

PreparedStatement et Sequence V2


Sujet :

JDBC Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6
    Par défaut PreparedStatement et Sequence V2
    Bonjour,

    J'utilise des séquences oracle dans des preparedStatement.

    Les PS pour l'insert fonctionnent bien :

    INSERT INTO SIEBESR.TMP_TRAITEMENT ( ROW_ID, NOM, STATUT, ACTIVITY_ID, BATCH_ID ) VALUES('T-'||SIEBESR.SEQ_TMP_TRT.NEXTVAL,?,?,?,?)

    Mais la séquence de ma requête d'update ne fonctionne pas.

    UPDATE SIEBESR.TMP_TRAITEMENT SET STATUT='" + STATUT_TERMINE + "' WHERE ROW_ID='T-'||SIEBESR.SEQ_TMP_TRT.CURRVAL

    J'ai une erreur de ce type :

    Certains paramètres {X} n'ont pas été correctement substitués

    J'ai testé en mettant dans l'update simplement la séquence que je voulais updater, et ça a bien fonctionné.

    Pour information le ROW_ID va me donner une valeur du type T-XXX avec XXX etant la séquence courante.

    Merci d'avance.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6
    Par défaut
    J'ai trouvé une raison :

    Uses and Restrictions of NEXTVAL and CURRVAL CURRVAL and NEXTVAL can be used in
    the following places:

    VALUES clause of INSERT statements
    the SELECT list of a SELECT statement
    the SET clause of an UPDATE statement

    CURRVAL and NEXTVAL cannot be used in these places:
    a subquery
    a view's query or snapshot's query
    a SELECT statement with the DISTINCT operator
    a SELECT statement with a GROUP BY or ORDER BY clause
    a SELECT statement that is combined with another SELECT statement with
    the UNION,
    INTERSECT, or MINUS set operator
    the WHERE clause of a SELECT statement
    DEFAULT value of a column in a CREATE TABLE or ALTER TABLE statement
    the condition of a CHECK constraint

Discussions similaires

  1. appeler une sequence dans PreparedStatement
    Par kkkkkk dans le forum JDBC
    Réponses: 3
    Dernier message: 17/06/2007, 13h48
  2. programmation corba: le type "sequence"
    Par Kali dans le forum CORBA
    Réponses: 4
    Dernier message: 28/08/2005, 16h09
  3. peut-on savoir si un champ a une sequence??
    Par e11137 dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 09/01/2004, 14h54
  4. voir les sequences existantes ?
    Par soniaSQL dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 25/06/2003, 16h33
  5. Réponses: 2
    Dernier message: 05/06/2002, 12h29

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