Как мне передать имя таблицы в хранимый процесс?

Я только что натолкнулся на странную вещь ... на нашем сайте есть код, который принимает гигантский оператор SQL, модифицирует его в коде, выполняя поиск и замену на основе некоторых пользовательских значений, а затем передает его в SQL Server как запрос.

Я думал, что это будет чище, как параметризованный запрос к хранимому процессу, с пользовательскими значениями в качестве параметров, но когда я посмотрел более внимательно, я понимаю, почему они это делают ... таблица, из которой они выбирают, переменно зависит от этих пользовательских значений.

Например, в одном случае, если значения были ("ФОО ","БАР") запрос в конечном итоге будет что-то вродеSELECT * FROM FOO_BAR "

Есть ли простой и понятный способ сделать это? Все я'Я пытаюсь выглядеть не изящным.

РЕДАКТИРОВАТЬ: Я мог бы, конечно, динамически генерировать sql в хранимой процедуре, и выполнить, что (bleh), но на этом этапе я 'мне интересно, если ямы получили что-нибудь.

EDIT2: Рефакторинг имен таблиц каким-либо разумным способом, скажем, наличие их всех в одной таблице с разными именами в качестве нового столбца было бы хорошим способом решить все это, на что несколько человек прямо или на что ссылались. К сожалению, это не вариант в этом случае.

Ответы на вопрос(10)

Ваш ответ на вопрос