Bir SQL komut var geçmesi ve böyle bir tabloya atıfta kullanılan sütunları ve tabloları ayıklamak için bir yol varsa:Ayrıştırma SQL komut tablo ve sütun adlarını ayıklamak için
Senaryo:
Select t1.first, t1.last, t2.car, t2.make, t2.year
from owners t1
left join cars t2
on t1.owner_id = t2.owner_id
Çıktı:
:
Table Column
owners first
owners last
owners owner_id
cars car
cars make
cars year
cars owner_id
bunu kolay bir yol olup olmadığını mümkündür ya soran var mı? Girdiyi dilbilgisinin basit ve katı bir alt kümesiyle sınırlayamazsanız, SELECT ve onun ilişkili ifadeleri için dilbilgisini tanımlamanız gerekir ... http://www.h2database.com/html/grammar.html#select – THK
@THK Ben her ikisini de tahmin ediyorum. Sadece bu, sql yürütme işleminde bir yerde olur ve birisi bir kütüphaneye dönüştürmüş olsaydı merak ediyor gibi görünüyor. – screechOwl
Şaşırtıcı bir şekilde, yetkili olarak geniş çapta kabul edilen bağımsız bir ayrıştırıcı görünmüyor. Konuyla ilgili bazı SO konuları var: http://stackoverflow.com/questions/660609/sql-parser-library-for-java. Python, sqlparse kütüphanesine sahiptir ancak dilbilgisini doğrulamamaktadır. – THK