Vous pouvez essayer un formateur comme celui-ci
Ils seront toujours limités car ils ne savent pas (et ne peuvent pas) savoir quelles fonctions définies par l'utilisateur vous avez définies dans votre base de données (ou quelles fonctions intégrées vous avez ou n'avez pas accès).
Vous pouvez également consulter ANTLR (mais ce serait une solution hors ligne)