Précédent   Forum des professionnels en informatique > Bases de données > Autres SGBD > InterBase
InterBase Forum d'entraide sur le SGBD InterBase de Codegear. Avant de poster -> F.A.Q Interbase, Tutoriels
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 01/04/2005, 17h48   #1
Membre confirmé
 
Inscription : mars 2002
Messages : 323
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 323
Points : 280
Points : 280
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 :
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.
__________________
creapage.net
laffreuxthomas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2005, 00h20   #2
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
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 :
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.
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2005, 09h14   #3
Membre confirmé
 
Inscription : mars 2002
Messages : 323
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 323
Points : 280
Points : 280
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 ?
__________________
creapage.net
laffreuxthomas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2005, 12h52   #4
Membre confirmé
 
Inscription : mars 2002
Messages : 323
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 323
Points : 280
Points : 280
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é
__________________
creapage.net
laffreuxthomas 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 15h43.


 
 
 
 
Partenaires

Hébergement Web