in reply to SQL Parsing with Parse::RecDescent

First thing I'd do would be to see if SQL::Statement solves the problem off the shelf rather than wheel-reinventing myself.

The cake is a lie.
The cake is a lie.
The cake is a lie.

Replies are listed 'Best First'.
Re^2: SQL Parsing with Parse::RecDescent
by DACONTI (Scribe) on Mar 05, 2008 at 15:39 UTC
    Hi Fletch,
    I was very optimistic regarding your idea.
    I read the doc and did some tests with SQL::Statement.
    Unfortunately it seems not to be straightforward:
    Using this code:
    select some_table.a_column, some_table.a_2ndcolumn FROM some_table UNION select another_table.a_3rdcolumn, another_table.a_4thcolumn FROM another_table WHERE some_table.a_date_column <= to_date('20071111', 'YYYYMMDD') AND some_table.a2nd_date_column >= to_date('20071111', 'YYYYMMDD') }
    I couldnt get all columns identified and it doesnt seem to recognize the UNION join (by the way I'm using SQL ORACLE syntax).
    So I've the impression that one should make extensive customization work in order to get it really do the work.
    In this case I would preferably stay with Parse::RecDescent
    Don't you know about some SQL query parsing example with parse-recdescent?
    Anyway many thanks
    Davide.