Ja, der Trick heißt dynamisches SQL.
Also den ganzen SQL in einen String packen, Preparen und dann ganz normal Open/Fetch/Close.
Es klappen sogar Parameter mit "?", die man dann mittels USING-Klausel dranhängen kann.