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

InterBase Discussion :

Limitations de Interbase ou Firebird ?


Sujet :

InterBase

  1. #1
    Membre éclairé

    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    412
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2002
    Messages : 412
    Points : 657
    Points
    657
    Par défaut Limitations de Interbase ou Firebird ?
    Je parle ici des dernières versions (7.5 pour Interbase, 1.5 pour Firebird). On a un logiciel qui tourne avec Oracle et on va peut-être le porter sous Interbase et Firebird. Sous peine de grosses ré-écritures, on cherche un sgbd qui accepterait des requêtes assez complexes.

    Notamment : est-ce que les sous-requêtes, les unions, intersections, except (ou minus) sont implémentés ? Peut on les faire dans une clause From ? Par exemple, est-ce que cette requête passerait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    select *
    from (
      select col1, col2 from table1
      except
      select col3 as col1, col4 as col2 from table2
      ) tt
      left join table3 on tt.col1 = table3.col5
    where table3.col6 not in (select col7 from table4)
    order by 1;
    Remarque : s'il faut changer quelques mots clefs ça n'est pas un souci pour nous. Ce que je souhaite savoir, c'est si ces fonctionnalités sont implémentées.

    Et une question ouverte : est-ce que vous connaissez des limitations dans les dialects SQL de Interbase ou Firebird ?

    [EDIT] Dernière chose : est-ce que la notion de séquence existe ? Par exemple est-il possible d'utiliser une même séquence pour les identifiants de plusieurs tables ? Remarque : pour ce dernier problème on pourra le simuler s'il le faut.

  2. #2
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut Re: Limitations de Interbase ou Firebird ?
    Citation Envoyé par laffreuxthomas
    Je parle ici des dernières versions (7.5 pour Interbase, 1.5 pour Firebird). On a un logiciel qui tourne avec Oracle et on va peut-être le porter sous Interbase et Firebird. Sous peine de grosses ré-écritures, on cherche un sgbd qui accepterait des requêtes assez complexes.
    Il existe firacle http://www.janus-software.com/fb_fyracle.html c'est un projet basé sur Firebird1.5 qui rend compatible fb avec Oracle. Ils ont réussi à faire fonctionner Compiere une application type ERP/CRM (Open source) qui normalement fonctionne avec Oracle.
    Les procédures PL/SQL fonctionnent également. (Cependant ce projet visait uniquement à porter Compière donc je ne pense pas que c'est 100% compatible bien que Compière soit quand même un très gros projet)
    Donc ça peut etre une piste à explorer.

    Vous trouverez sur ce site quelques informations concernant les différences entre FB1.5 et Oracle.

    Citation Envoyé par laffreuxthomas
    Notamment : est-ce que les sous-requêtes, les unions, intersections, except (ou minus) sont implémentés ? Peut on les faire dans une clause From ? Par exemple, est-ce que cette requête passerait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    select *
    from (
      select col1, col2 from table1
      except
      select col3 as col1, col4 as col2 from table2
      ) tt
      left join table3 on tt.col1 = table3.col5
    where table3.col6 not in (select col7 from table4)
    order by 1;
    Remarque : s'il faut changer quelques mots clefs ça n'est pas un souci pour nous. Ce que je souhaite savoir, c'est si ces fonctionnalités sont implémentées.
    Je conseillerai bien ce lien :
    http://sql.developpez.com/sqlaz/fonctions/ mais hélas il y a des erreurs et concerne IB6 et non 7.5 ou fb1.5 qui apportent plusieurs choses.
    Pour ce qui est des sous-select dans la clause FROM vous ne pouvez pas avec FB1.5 (il faudra attendre FB2.0 qui est en disponible en version Alpha.) Cependant il y a un moyen simple de contourner ce probleme soit mettre le sous-select dans une vue soit dans une procedure stockée qui sont utilisables dans la clause FROM.

    Citation Envoyé par laffreuxthomas
    Dernière chose : est-ce que la notion de séquence existe ?
    il existe les générateurs mais c'est plus restrictif qu'une sequence car c'est uniquement un entier.
    Citation Envoyé par laffreuxthomas
    Par exemple est-il possible d'utiliser une même séquence pour les identifiants de plusieurs tables ?
    on peux utiliser un generateur pour plusieurs tables.

  3. #3
    Membre éclairé

    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    412
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2002
    Messages : 412
    Points : 657
    Points
    657
    Par défaut Re: Limitations de Interbase ou Firebird ?
    Merci beaucoup Barbibulle. Nous n'avons pas de procédures stockées ni de triggers, donc notre problème se réduit à la syntaxe des requêtes select. Et je viens de passer deux semaines à écrire un mini-parseur SQL qui regénère les requêtes dans les dialects spécifiques de Oracle, Postgres et SQL Server. On voudrait éventuellement y ajouter Interbase. J'irai jeter un coup d'oeil à firacle, mais à priori il ne correspondra pas à notre approche.

    Citation Envoyé par Barbibulle
    Pour ce qui est des sous-select dans la clause FROM vous ne pouvez pas avec FB1.5 (il faudra attendre FB2.0 qui est en disponible en version Alpha.) Cependant il y a un moyen simple de contourner ce probleme soit mettre le sous-select dans une vue soit dans une procedure stockée qui sont utilisables dans la clause FROM.
    Ok donc Firebird éliminé pour l'instant. Pour Interbase dernière version tu me confirmes que c'est bon ?

  4. #4
    Membre éclairé

    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    412
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2002
    Messages : 412
    Points : 657
    Points
    657
    Par défaut
    Bon, je viens d'installer la version 7.5 d'Interbase et il n'a pas l'air accepter les sous-requêtes dans la clause from.

    IB éliminé

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

Discussions similaires

  1. JvUIBBackup, Interbase et Firebird
    Par Harry dans le forum Bases de données
    Réponses: 4
    Dernier message: 05/07/2005, 15h04
  2. Caractéristique Interbase et firebird
    Par AlexB59 dans le forum InterBase
    Réponses: 2
    Dernier message: 11/06/2005, 01h03
  3. Taille des fichiers Interbase et Firebird
    Par Equus dans le forum Débuter
    Réponses: 5
    Dernier message: 21/03/2005, 15h50
  4. D'interbase 6 à Firebird, quels différences
    Par Harry dans le forum Bases de données
    Réponses: 5
    Dernier message: 21/09/2004, 21h08
  5. fonction sql "LIMIT" en interbase?
    Par GMI dans le forum InterBase
    Réponses: 6
    Dernier message: 20/09/2004, 14h04

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