2015-09-08 2 views
1

У меня есть таблица temp, где я хочу сохранить результаты хранимой процедуры. Чтобы выполнить хранимую процедуру, мне нужно использовать значения переменных для имени базы данных, сервера базы данных и имени хранимой процедуры, которые хранятся в таблице. Мне нужно разобраться, как написать SELECT * INTO с помощью OPENROWSET с моими переменными. Это то, что я до сих пор, но есть синтаксические ошибки:SQL Server SELECT INTO Использование OPENROWSET с переменными?

SELECT * INTO #tmpAccountsRetrieved 
    FROM OPENROWSET(@TempDbName, 'Server=' + @TempDbServer + ';Trusted_Connection=yes;', 'EXEC ' + @TempStoredProcName) 

Я довольно ржавый на SQL, так что любая помощь очень ценится!

+0

Не могли бы вы предоставить синтаксические ошибки, с которыми вы столкнулись. Также не уверен, что вы проходите для ** '@ TempDbName' **, в соответствии с' OPENROWSET' оно должно быть «именем поставщика». Также вы не можете использовать выражения в 'OPENROWSET'. Попробуйте создать динамический sql для передачи параметров. – Abhishek

ответ

0

Попробуйте поставить эти конфигурации на месте перед использованием OpenRowset:

-- FOR USING OPENROWSETS 
     EXEC sp_configure 'Ad Hoc Distributed Queries' 
      ,1 
     RECONFIGURE 

Я думаю, что ваш синтаксис является правильным. Итак, попробуйте Пройти через это POST для получения дополнительной информации

+0

Спасибо, это именно то, что мне нужно. – sheldor

+0

U r приветствуется :) – ProblemSolver

Смежные вопросы