Existe-t-il des bibliothèques open source (n'importe quelle langue, python/PHP préférée) qui vont marquer/analyser une chaîne SQL ANSI dans ses différents composants?Analyse/Tokenizing d'une chaîne contenant une commande SQL
C'est, si j'avais la chaîne suivante
SELECT a.foo, b.baz, a.bar
FROM TABLE_A a
LEFT JOIN TABLE_B b
ON a.id = b.id
WHERE baz = 'snafu';
Je reviens d'une structure de données/objet quelque chose comme
//fake PHPish
$results['select-columns'] = Array[a.foo,b.baz,a.bar];
$results['tables'] = Array[TABLE_A,TABLE_B];
$results['table-aliases'] = Array[a=>TABLE_A, b=>TABLE_B];
//etc...
reformulé, je suis à la recherche du code dans un package de base de données qui taquine la commande SQL de manière à ce que le moteur sache quoi faire avec. La recherche sur Internet donne beaucoup de résultats sur la façon d'analyser une chaîne avec SQL. Ce n'est pas ce que je veux.
Je me rends compte que je pouvais glop par un code de base de données open source pour trouver ce que je veux, mais j'espérais quelque chose d'un peu plus prêt à l'emploi, (bien que si vous connaissez où dans MySQL, PostgreSQL, source SQLite regardez, n'hésitez pas à le transmettre le long)
Merci!
http://stackoverflow.com/questions/1394998/parsing-sql-with-python – bernie