sql >> Databáze >  >> RDS >> Oracle

Python-analýza SQL pomocí pyparsingu

Tento analyzátor byl napsán před dlouhou dobou a zpracování více hodnot v názvu výsledků se objevilo až později.

Změňte tento řádek v analyzátoru, který jste citovali:

single_source = ( (Group(database_name("database") + "." + table_name("table")) | table_name("table")) + 

do

single_source = ( (Group(database_name("database") + "." + table_name("table*")) | table_name("table*")) + 

Když spustím váš ukázkový příkaz prostřednictvím analyzátoru select_stmt, dostanu toto:

select * from xyz  inner join dhf  on df = hfj  where z > 100
['SELECT', ['*'], 'FROM', 'xyz', 'INNER', 'JOIN', 'dhf', 'ON', ['df', '=', 'hfj'], 'WHERE', ['z', '>', '100']]
- columns: ['*']
- table: [['xyz'], ['dhf']]
  [0]:
    ['xyz']
  [1]:
    ['dhf']
- where_expr: ['z', '>', '100']


  1. PHP mění starý mysql_query na PDO

  2. Embedded MySQL Server C# Wrapper?

  3. Nelze načíst com.mysql.jdbc.Driver

  4. Vícenásobné počty v rámci jednoho SQL dotazu