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

Coldfusion Discussion :

cfquery problème lors d'insert


Sujet :

Coldfusion

  1. #1
    Membre à l'essai
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 14
    Points : 10
    Points
    10
    Par défaut cfquery problème lors d'insert
    Bonjour,

    J'ai un gros soucis, je fait des insertions lors d'un processus de màj dont voici un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <cfquery name="test" datasource="...">
        INSERT WHEN (89 = PAGE_ID) THEN
        INTO T_PAGE_LANG ( PALA_ID_PAGE, PALA_DESC )
        VALUES ( 89, 'test')
        SELECT PAGE_ID FROM T_PAGE WHERE PAGE_ENABLE = 1
    </cfquery>
    Ma requête fonctionne très bien avec Coldfusion 7 mais sur la version 8 j'ai l'erreur suivante :

    ORA-00933: la commande SQL ne se termine pas correctement
    J'ai bien sur contrôler et il ne s'agit pas d'un problème SQL. Par contre je crois que Coldfusion permet plusieurs requêtes dans un cfquery et il ne comprend pas ma requête.

    Si quelqu'un à une idée sur le problème son aide est la bienvenue ! Merci d'avance.

    Pour info : Je travail sur Oracle avec le driver JDBC 10.2.0.3.0 pour cf8 et cf7.

  2. #2
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Bonjour,

    Si ta base de données est MySQL, ce lien pourra peut être t'aider. On y décrit la configuration nécessaire pour pouvoir combiner plusieurs interrogations SQL dans un cfquery.
    ATTENTION à la version du driver JDBC utilisé.
    Bien le bonjour chez vous
    Jowo

  3. #3
    Membre à l'essai
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Merci mais j'ai déjà consulter ce site et je n'ai rien trouver concernant Oracle.

    En fait coldfusion croit que j'ai deux requêtes alors qu'il n'y en a qu'une !

    Je vais encore essayer en changeant le Driver JDBC.

  4. #4
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Si c'est Oracle, essaie cette syntaxe sans garantie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <cfquery name="test" datasource="...">
        INSERT WHEN (89 = PAGE_ID) THEN
        INTO T_PAGE_LANG ( PALA_ID_PAGE, PALA_DESC )
        VALUES ( 89, 'test');
        SELECT PAGE_ID FROM T_PAGE WHERE PAGE_ENABLE = 1
    </cfquery>
    Un point-virgule après la première instruction.

    N'as-tu pas deux interrogations? L'une qui insère et l'autre qui retourne une sélection?
    Bien le bonjour chez vous
    Jowo

  5. #5
    Membre à l'essai
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Non en fait il s'agit d'une seule insertion (avec une condition assez spéciale)...

    J'ai déjà essayé avec le point virgule en fin de requête et aussi avec des parenthèses mais rien à faire.

  6. #6
    Membre habitué
    Inscrit en
    Mars 2006
    Messages
    408
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 408
    Points : 173
    Points
    173
    Par défaut
    Salut,
    Ce n'est pas facil sans jeux d'essais, mais je te conseillerais plutot de passer par une conditionnelle pour faire passer tes deux insert. Comme ça tu es sur de controler l'insert en fonction de la valeur mise en condition par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <cfif 89 = PAGE_ID>
          <cfquery 1> 
          </cfquery>
          <cfquery 2> 
          </cfquery>
    </cfif>
    Voila en esperant t'avoir aidé...

  7. #7
    Membre à l'essai
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Oups j'ai oublié le résolu...

    Oui en fait c'est ce que j'ai fini par faire, malgré la perte en temps d'exécution.

    C'est que j'utilise cette méthode lors d'un processus de mise à jours d'un intranet et comme j'ai énormément de données et de tables à traiter, j'essaye de faire un minimum de requêtes.

    En mettant une condition je dois effectuer mon Select avant mon insert, et dans une boucle sur plusieurs tables, je te laisse imaginer le temps que me fait gagner ma requête qui ne fonctionne pas sous CF8...snif

    Merci a+

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

Discussions similaires

  1. Réponses: 27
    Dernier message: 12/08/2013, 17h02
  2. Problème lors d'insertion
    Par zied_m dans le forum JDBC
    Réponses: 6
    Dernier message: 12/12/2012, 00h13
  3. Etrange problème lors de INSERT
    Par julien.63 dans le forum Débuter
    Réponses: 2
    Dernier message: 12/04/2009, 12h25
  4. Problèmes lors d'insertion d'images !
    Par Marc R dans le forum Word
    Réponses: 6
    Dernier message: 20/03/2009, 15h19
  5. [LDAP] Problème lors d'insertion de valeur vide
    Par navis84 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 26/04/2006, 14h26

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