Je zou een formatter als deze kunnen proberen
Ze zullen altijd beperkt zijn omdat ze niet (en niet kunnen) weten welke door de gebruiker gedefinieerde functies u in uw database hebt gedefinieerd (of tot welke ingebouwde functies u wel of geen toegang heeft).
Je zou ook naar ANTLR kunnen kijken (maar dat zou een offline oplossing zijn)