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

SQL Firebird Discussion :

Equivalent Create if not exists


Sujet :

SQL Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Homme Profil pro
    Développeur Windev
    Inscrit en
    Mai 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Windev

    Informations forums :
    Inscription : Mai 2006
    Messages : 34
    Billets dans le blog
    1
    Par défaut Equivalent Create if not exists
    Bonjour à tous !

    en cherchant sur google, j'ai trouvé cette page de faq : http://www.firebirdfaq.org/faq69/

    indiquant le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if (not exists(select 1 from rdb$relations where rdb$relation_name = 'EMPLOYEE')) then
    execute statement 'create table employee ( id integer );';
    et mon executable (ainsi que flame robin) m'indiquent le message suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Engine Code    : 335544569
    Engine Message :
    Dynamic SQL Error
    SQL error code = -104
    Token unknown - line 1, column 1
    if
    J'ai cherché sur le forum et la seule solution trouvée est de vérifier moi même la condition select 1 from rdb$relations where rdb$relation_name = 'EMPLOYEE') avant d'appeler le create table.

    Si je n'ai vraiment pas le choix, je passerai par cette méthode, mais dans ce cas, est-ce que la FAQ de firebird est fausse ? (ou s'applique à une mauvaise version, ou pire, mais j'ose pas l'avouer, aurais-je rien compris à firebird ? )

    Merci à tous ceux qui pourront m'aider.

  2. #2
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Salut

    Citation Envoyé par Johjo Voir le message
    [...], est-ce que la FAQ de firebird est fausse ? (ou s'applique à une mauvaise version, [...]
    Non cette QR de la FAQ est correcte.
    Mais l'utilisation de IF est limitée au PSQL, donc dans le cadre d'une procédure stockée ou d'un trigger.

    Tu obtiens ce message d'erreur (Token unknown: IF) car tu utilises certainement une requête (soit DSQL).

    @+ Claudius

  3. #3
    Membre éprouvé

    Homme Profil pro
    Développeur Windev
    Inscrit en
    Mai 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Windev

    Informations forums :
    Inscription : Mai 2006
    Messages : 34
    Billets dans le blog
    1
    Par défaut
    Tout d'abord, merci pour la réponse.

    En gros, si j'ai bien compris, il va falloir que je vérifie moi même l'existence de la table avant de la créer si nécessaire.

    Bon, ben, y'a plus qu'à...

    Merci !!!

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

Discussions similaires

  1. if not exists + create user
    Par killua86 dans le forum Forms
    Réponses: 5
    Dernier message: 19/06/2010, 07h11
  2. create table if not exists
    Par olibara dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 18/03/2010, 16h01
  3. AS400 Probleme de Create table if not exists
    Par mczikas dans le forum Développement de jobs
    Réponses: 0
    Dernier message: 24/02/2009, 17h04
  4. Create procedure if not exists ?
    Par mappy dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/07/2008, 17h57
  5. [DB2] create table... if not exists ?
    Par iubito dans le forum DB2
    Réponses: 6
    Dernier message: 23/03/2004, 18h26

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