動的 SQL がこれを行う唯一の方法ですが、これが必要な場合は、アプリケーションのアーキテクチャを再検討します。 SQL は、「一般化された」コードにはあまり適していません。個々のタスクを実行するように設計およびコーディングされている場合に最も効果的です。
選択ステートメントが同じように見えても、TableA からの選択は TableB からの選択と同じではありません。異なるインデックス、異なるテーブル サイズ、データ分散などがある場合があります。
個々のストアド プロシージャを生成できますが、これは一般的なアプローチです。必要なテーブルのさまざまな選択ストアド プロシージャを作成するコード ジェネレーターを用意します。各テーブルには独自の SP があり、アプリケーションにリンクできます。
この種のジェネレーターは T-SQL で作成しましたが、ほとんどのプログラミング言語で簡単に作成できます。かなり基本的なことです。
スコット E が ORM を持ち出したので、もう 1 つ追加します...これらのストアド プロシージャは、最も洗練された ORM でも使用できるはずです。