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

Langage SQL Discussion :

pb de syntaxe pr cibler une col. dt l'existence est conditio


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Inscrit en
    Février 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 4
    Points : 4
    Points
    4
    Par défaut pb de syntaxe pr cibler une col. dt l'existence est conditio
    Contexte:
    Une table temporaire (qui évolue) et dont l'existence de certaines colonnes est soumise à condition.

    Lorsque ces colonnes (conditionnées) existent, elles doivent faire l'objet de contrôles.

    Avant d'effectuer le contrôle je m'assure que la colonne existe en utilisant un "if exists " suivi des conditions qui cré la colonne en question. Puis selon que la condition est vrai ou fausse j'adapte mon traitement :si la colone existe, je peux réaliser mon contrôle et je cible le nom de cette colonne. Si c'est non, je ne fait rien puique je sais que la colonne n'existe pas.

    Or dans l'hypothèse où la condition n'est pas remplie et donc où normalement le traitement valant pour le cas "oui" ne devrait pas être lu, sql me renvoie le message d'erreur suivant: la colonne x n'existe pas.
    Le code est donc lu qqsoit la réponse à la condition posée. Un proche me dit que c'est lors de la compilation qu'sql ne reconnaît pas l'objet inconnu même si à l'exécution le contexte était correct.

    L'ennui c'est que je vois pas comment contourné cette contrariété. J'ai essayé de "passer" par un flag. mais rien à faire.

  2. #2
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Quel SGBD SVP ?

    En vrac, mes impressions sur ton souci :
    - Une table, même "temporaire", dont la structure est modifiée régulièrement en fonction des données à traiter ne me paraît pas génial, il y a un problème de conception à revoir. Pourquoi pas plusieurs tables, chacune dédiée à un traitement ? Ou une table contenant toutes les colonnes, certaines étant renseignées ou pas en fonction de la nature du traitement ?
    - Si tu ne peux revenir sur ce mécanisme, je te conseillerais, pour écrire des requêtes paramétrables, de passer par un langage procédural (propre au SGBD ou pas) qui aurait pour tâche de contruire la requête.
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

Discussions similaires

  1. Vérifier si une variable de session existe && est vide ?
    Par c-bolo dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 27/12/2009, 22h06
  2. Controle sur 1 col. dont l'existence est soumise à condition
    Par HOUDEBINE dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 06/02/2006, 07h51
  3. pb syntaxe pour exporter une base
    Par azertyuiopp dans le forum Requêtes
    Réponses: 2
    Dernier message: 27/11/2005, 18h18
  4. Index sur une col. de type 'booléen": utile?
    Par Atreides dans le forum Oracle
    Réponses: 2
    Dernier message: 28/01/2005, 13h12
  5. "ALTERER" une col. NULL en NOT NULL - Int
    Par Gandalf24 dans le forum SQL
    Réponses: 2
    Dernier message: 28/12/2002, 00h07

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