Précédent   Forum des professionnels en informatique > Bases de données > Firebird > SQL
SQL Forum d'entraide sur le SQL pour Firebird
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 02/08/2005, 11h27   #1
Membre chevronné
 
Avatar de defluc
 
Architecte
Inscription : mai 2002
Messages : 1 057
Détails du profil
Informations personnelles :
Âge : 62

Informations professionnelles :
Activité : Architecte

Informations forums :
Inscription : mai 2002
Messages : 1 057
Points : 745
Points : 745
Par défaut Select Case provoque une erreur

Bonjour,

J'ai lancé la requête suivante sous interbase 5.1:

Select prc,
Case
When StrLen(Prc)>8 then Substr(Prc,9,10)
end
as ExposLet
from temptable

A l'exécution, je reçois le message d'erreur «Token unknown - line 3, char 1|When|».

Merci d'avance pour une piste de solution.
defluc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2005, 10h52   #2
Candidat au titre de Membre du Club
 
Inscription : avril 2004
Messages : 12
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 12
Points : 11
Points : 11
Par défaut Pas de case sous interbase

Comme vous le constater sous interbase le case ...when... then ne peut etre utilisé sous interbase, comme MS SQL, pour y remedier il faut utilisé les procédures stock.
brikh Tsoufik est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2005, 10h59   #3
Membre chevronné
 
Avatar de defluc
 
Architecte
Inscription : mai 2002
Messages : 1 057
Détails du profil
Informations personnelles :
Âge : 62

Informations professionnelles :
Activité : Architecte

Informations forums :
Inscription : mai 2002
Messages : 1 057
Points : 745
Points : 745
J'ai la même erreur si j'utilise ce code dans une procédure stockée.
defluc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2005, 13h03   #4
Membre Expert
 
Inscription : avril 2005
Messages : 1 672
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 1 672
Points : 1 337
Points : 1 337
Le code suivant fonctionne chez moi sur une base IB 6 hébergée par un serveur FB 1.5
Code :
1
2
SELECT CASE WHEN STRLEN(CLI_NOM) > 8 THEN SUBSTR(CLI_NOM, 1, 2) END AS commentaire
FROM CLIENTS;
Donc la différente réside peut être dans votre version d'IB ?
__________________
Modérateur des forums Oracle et Langage SQL
Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum
Magnus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2005, 13h17   #5
Membre chevronné
 
Avatar de defluc
 
Architecte
Inscription : mai 2002
Messages : 1 057
Détails du profil
Informations personnelles :
Âge : 62

Informations professionnelles :
Activité : Architecte

Informations forums :
Inscription : mai 2002
Messages : 1 057
Points : 745
Points : 745
Ma base est en Interbase 5.0 Server
defluc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2005, 13h49   #6
Membre Expert
 
Inscription : avril 2005
Messages : 1 672
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 1 672
Points : 1 337
Points : 1 337
Justement est-ce que la structure CASE n'est pas reconnue qu'à partir de la version 6 ?

Je ne connais pas la réponse et je ne prétends pas que votre problème vienne nécessairement de là mais google devrait avoir plus d'infos...
__________________
Modérateur des forums Oracle et Langage SQL
Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum
Magnus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2005, 23h59   #7
Membre éclairé
 
Inscription : décembre 2004
Messages : 379
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 379
Points : 304
Points : 304
interbase 5 ne connait pas l'instruction case...
jean-jacques varvenne 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 00h52.


 
 
 
 
Partenaires

Hébergement Web