Чтобы сделать длинную историю короткой ...Построить временную таблицу с динамическим SQL в SQL Server 2008
Я строю веб-приложение, в котором пользователь может выбрать любую комбинацию из примерно 40 параметров. Однако для одного из результатов, которые они хотят (инвестиционный опыт), мне приходится извлекать информацию из другой таблицы и сравнивать значения в шести разных столбцах (фондовый exp, взаимные фонды exp и т. Д.) И возвращать только самое высокое значение шести для этой конкретной записи.
Это не проблема. Проблема в том, что во время выполнения мой запрос на поиск инвестиций exp не обязательно знает идентификатор учетной записи. Учитывая, что сканирование таблицы принесло более полумиллиона клиентов, это не вариант. Так что я пытаюсь отредактировать копию моего основного динамически построенного запроса, но вместо того, чтобы возвращать 30 + столбцов, он просто вернет 2, accountid и experienceid (это PK для таблицы опыта), поэтому я может сделать сделку по фильтрации.
Некоторые из вас могут определить динамический SQL немного иначе, чем я. Мой запрос - это строка, которая в зависимости от аргументов, отправленных моей процедуре, части предложения where будут включены или выключены переключателями. В итоге я выполняю, все это делается на стороне сервера, все веб-приложение отправляет массив аргументов в мой proc.
Моя более упрощенный код выглядит, по существу, как это:
declare @sql varchar(8000)
set @sql =
'select [columns]
into #tempTable
from [table]
[table joins]' + @dynamicallyBuiltWhereClause
exec(@sql)
после этой части я пытаюсь использовать #tempTable для процесса фильтрации инвестиционного опыта, но я получаю сообщение об ошибке говорит мне, #tempTable не существует.
Любая помощь была бы принята с благодарностью.
хорошо, моя процедура будет принимать более 40 аргументов, которые по умолчанию равны нулю, а серия проверок значений будет действовать как переключаемая для создания предложения where. Спасибо, кстати, я полностью забыл о сфере (я новичок), и мне помогли 2 хэш-знака. Благодарю. – IWriteApps