Aller au contenu

Sujets conseillés

Posté

Bonjour à tous :)

Je cherche un script qui me permet d'analyser une requête sql de type select : Les champs & les tables à sélectionner.

Quelqu'un à déjà trouvé un script pareil ?

merci.

Posté
Bonjour à tous :)

Je cherche un script qui me permet d'analyser une requête sql de type select : Les champs & les tables à sélectionner.

Quelqu'un à déjà trouvé un script pareil ?

merci.

Euh... la requête EXPLAIN par exemple ?

Posté
je souhaite avoir une solution indépendante du sgbd. :blush:

Les optimisations de requête dépendent de la manière dont le SGBD implémente la norme SQL.

A ma connaissance tout les optimiseurs de requêtes sont liés à un SGBD cible.

Posté
Les optimisations de requête dépendent de la manière dont le SGBD implémente la norme SQL.

A ma connaissance tout les optimiseurs de requêtes sont liés à un SGBD cible.

C'est pour éviter les instructions propriétaires que je veux passer par un script php qui utiliserait peut-être des expressions régulières !! :blush:

Posté
C'est pour éviter les instructions propriétaires que je veux passer par un script php qui utiliserait peut-être des expressions régulières !! :blush:

Qu'est-ce que tu cherches à faire exactement ??

Posté
Qu'est-ce que tu cherches à faire exactement ??

Récupérer les tables sélectionnées et les champs sélectionnés pour chaque table :)

Posté

Tu aurais un SELECT du style :

SELECT field1, field2, field3
FROM foo f LEFT OUTER JOIN bar b on f.id = b.id_foo
WHERE f.id > 45
ORDER BY field1 desc

tu voudrais que ton script te retourne :

- field1, field2, field 3 : pour les champs

- foo, bar : pour les tables

C'est ça ?

Posté

Si je devais faire un truc de ce style :

1. Je chercherai à savoir s'il existe des parser SQL : Parser SQL. Le premier résultat est un parser en Perl.

Je ne sais pas s'il y en a en Php

2. Une fois que ta requête est parsée et que tu as tes champs et tes table.

Tu veux savoir à quelle table appartient tel champ.

Je ne sais pas s'il existe un langage générique de requêtage d'un serveur SGBD.

Généralement, tu connais la structure des tables systèmes de ton SGBD, et tu fait des requêtes spécifiques sur ces tables.

Tu retombe dans des syntaxes qui seront dépendantes de ton SGBD.

Les tables systèmes de mySQL sont différentes de postGresql qui sont différentes de MSSQL qui sont différentes d'Oracle ....

C'est ce genre de parser que tu cherche. Mais celui-là est en java :

http://www.experlog.com/gibello/zql/

En Php tu as ça, mais il a pas l'air très actif :

http://sourceforge.net/projects/osqlp/

Posté

Merci beaucoup pour ton aide je vais voir ce que je peux faire avec les différentes solutions proposées.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...