Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Parsowanie języka SQL w Pythonie za pomocą pyparsingu

Ten parser został napisany dawno temu, a obsługa wielu wartości w nazwie wyników pojawiła się dopiero później.

Zmień tę linię w cytowanym przez Ciebie parserze:

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*")) + 

Kiedy uruchamiam przykładową instrukcję przez parser select_stmt, otrzymuję to:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle nie może zaktualizować do wartości NULL

  2. Dlaczego oracle nie pokazuje całkowitej części ułamka dziesiętnego

  3. Zalecenia dotyczące obsługi Oracle i SQL Server w tej samej aplikacji ASP.NET z NHibernate

  4. Pierwsze kroki z Oracle Autonomous Database w chmurze

  5. Twórz na lokalnej instancji Oracle