Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

pyparsing का उपयोग करके एक SQL को पायथन-पार्स करना

यह पार्सर बहुत समय पहले लिखा गया था, और परिणाम नाम में कई मानों को संभालना बाद में नहीं आया।

इस लाइन को आपके द्वारा उद्धृत पार्सर में बदलें:

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 VM Virtual Box के साथ एक वर्चुअल मशीन बनाना

  2. DriverManager getConnection के लिए कनेक्शन टाइमआउट

  3. चरण-दर-चरण अपग्रेड प्रक्रिया R12.2 में अपग्रेड करें भाग -3

  4. ऑर्डर बाय और यूनियन के साथ ओरेकल क्वेरी

  5. एपेक्स एडमिन अकाउंट अनलॉक करें