Динамический запрос SQL не возвращает данные в лист SQL - PullRequest
0 голосов
/ 03 января 2019

У меня есть динамический SQL-запрос, как показано ниже

Динамический SQL-запрос:

Declare @Currentmonth4date varchar(8)= convert(varchar(8), DATEADD(month, DATEDIFF(month, 0, GETDATE()), 3),112)
Declare @SQL varchar(max)= 'dbo.Exclusion_Process_Tab1_' + '20181204'

Declare @Select varchar(400) = 'Select * from ' + @SQL

exec (@Select)

Я пытался выполнить этот код из excel'2010 через источник запросов Microsoft.

после нажатия кнопки возврата данных в окне запроса формы параметров данные не возвращаются в таблицу Excel.

Пожалуйста, помогите

Ответы [ 2 ]

0 голосов
/ 03 января 2019

Вам не нужен динамический SQL, в чем смысл?

Вы просто делаете что-то вроде:

EXEC('SELECT * FROM dbo.Exclusion_Process_Tab1_20181204')

Почему бы просто:

SELECT * FROM dbo.Exclusion_Process_Tab1_20181204

Иопустите все ненужные переменные.

0 голосов
/ 03 января 2019

Вы пытались проверить свой динамический sql

Он возвращается Select * from dbo.Exclusion_Process_Tab1_20181204

Попробуйте это

Declare @Currentmonth4date varchar(8)= convert(varchar(8), DATEADD(month, DATEDIFF(month, 0, GETDATE()), 3),112)
Declare @SQL varchar(max)= 'dbo.Exclusion_Process_Tab1_'+ @Currentmonth4date

Declare @Select varchar(400) = 'Select * from '+@SQL

PRINT(@SELECT)

--exec (@Select)

Этот возвращает

Select * from dbo.Exclusion_Process_Tab1_20190104

После проверки комментариев print и раскомментируйте exec

Перед выполнением ваших динамических запросов протестируйте их с print и посмотрите, что они возвращают.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...