Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Autres langages pour le Web > Coldfusion
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/03/2008, 17h06   #1
Invité régulier
 
Développeur informatique
Inscription : 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 : 5
Points : 5
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 :
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 :

Citation:
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.
MasterFunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2008, 13h32   #2
Membre Expert
 
Homme Fabio
Développeur Java
Inscription : octobre 2002
Messages : 1 348
Détails du profil
Informations personnelles :
Nom : Homme Fabio
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2002
Messages : 1 348
Points : 1 824
Points : 1 824
Envoyer un message via Skype™ à jowo
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
jowo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2008, 13h59   #3
Invité régulier
 
Développeur informatique
Inscription : 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 : 5
Points : 5
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.
MasterFunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2008, 14h31   #4
Membre Expert
 
Homme Fabio
Développeur Java
Inscription : octobre 2002
Messages : 1 348
Détails du profil
Informations personnelles :
Nom : Homme Fabio
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2002
Messages : 1 348
Points : 1 824
Points : 1 824
Envoyer un message via Skype™ à jowo
Si c'est Oracle, essaie cette syntaxe sans garantie:
Code :
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
jowo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2008, 14h40   #5
Invité régulier
 
Développeur informatique
Inscription : 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 : 5
Points : 5
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.
MasterFunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2008, 23h55   #6
Membre habitué
 
Inscription : mars 2006
Messages : 395
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 395
Points : 128
Points : 128
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 :
1
2
3
4
5
6
7
<cfif 89 = PAGE_ID>
      <cfquery 1> 
      </cfquery>
      <cfquery 2> 
      </cfquery>
</cfif>
Voila en esperant t'avoir aidé...
Go_Ahead est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2008, 08h49   #7
Invité régulier
 
Développeur informatique
Inscription : 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 : 5
Points : 5
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+
MasterFunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h56.


 
 
 
 
Partenaires

Hébergement Web