Wenn ich zur Entwicklungszeit nicht weiß, wie das
SQL zur Laufzeit aussehen wird, dann muss ich es natürlich zur Laufzeit erstellen und kann es nicht als Konstante, Resource ... ablegen

Richtig. Aber dann bastel ich mir doch lieber eine Klasse, die das für mich erledigt.
Für mehr oder weniger feste Statements sind Ressourcen schon ein guter Weg, den ich auch verwende.