sql >> Database >  >> RDS >> Oracle

Python-parsing van een SQL met behulp van pyparsing

Deze parser is lang geleden geschreven en het verwerken van meerdere waarden in een resultaatnaam kwam pas later.

Verander deze regel in de parser die je hebt geciteerd:

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

naar

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

Wanneer ik je voorbeeldinstructie door de select_stmt-parser voer, krijg ik nu dit:

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. hoe gegevens van bestand naar PostgreSQL te kopiëren met behulp van JDBC?

  2. Kan het polymorfe type niet bepalen omdat het type onbekend is

  3. Hoe versleutel ik wachtwoorden met PostgreSQL?

  4. Willekeurige gegevens uit een andere tabel invullen