Есть вот такой парсер SQL::Parser https://metacpan.org/pod/SQL::Parser

Из документации:

$parser->parse('SELECT make,model FROM cars');
use Data::Dumper;
print Dumper $parser->structure;

...
'SELECT make,model, FROM cars'

     command => 'SELECT',
     table_names => [ 'cars' ],
     column_names => [ 'make', 'model' ],
...

Анатолий Гришаев <[email protected]> писал(а) в своём письме Tue, 24 Dec 2013 12:14:49 +0200:

Есть ли небольшой парсер для SQL запросов
чтобы понимал select, join в диалекте mysql ?

Исходные данные таковы: есть база
где таблицы названы по номерам, а колонки в виду <номер таблицы> точка <номер колонки>
Есть таблица соответствия между колонками и человеческими названиями.

Хотел автоматически или полуавтоматически перевести десятка два запросов из вида

select `10.1`, `10.3` from `10` where ...

во что-то более понятное.

Что предложите?

С уважением, Анатолий.



--
Написано в почтовом клиенте браузера Opera: http://www.opera.com/mail/
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить