Oracle
 sql >> база данни >  >> RDS >> Oracle

Python-Разбор на SQL с помощта на pyparsing

Този анализатор е написан отдавна и обработката на множество стойности в име на резултат се появи едва по-късно.

Променете този ред в цитирания от вас анализатор:

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

до

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

Когато стартирам вашия примерен израз през синтактичния анализатор select_stmt, сега получавам това:

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 и каква версия използва SQL?

  2. Oracle създава таблица с помощта на клауза with

  3. Каква е разликата между NOT условие и NOT() в Oracle и MS SQL Server

  4. Получаване на първичен ключ от вмъкнат набор от данни за свързване на други вмъквания

  5. Oracle избира данни по последователни блокове с дати