Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Использование переменных/параметров во FROM clause / 3 сообщений из 3, страница 1 из 1
01.12.2001, 12:31
    #32018266
Илья
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование переменных/параметров во FROM clause
Есть проблема, решение которой старательно замалчивается в MSDN:
в процедуре необходимо вставить во FROM clause запроса параметр. Типа так:

CREATE PROCEDURE testProc @tableVar varchar(30) AS
insert into ##tmpTable select * from @tableVar
GO

Вот на такую запись сервер ругается (мол переменная @tableVar не определена).
Кто знает, можно ли вообще как-либо запихнуть переменную/параметр во FROM clause?
Заранее благодарен.
...
Рейтинг: 0 / 0
01.12.2001, 13:16
    #32018267
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование переменных/параметров во FROM clause
CREATE PROCEDURE testProc @tableVar varchar(30) AS
DECLARE @mysql nvarchar(4000)
SET @mysql = N'insert into ##tmpTable select * from ' + @tableVar
exec(@mysql)
--или
exec sp_executesql @mysql
GO
...
Рейтинг: 0 / 0
01.12.2001, 13:23
    #32018268
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование переменных/параметров во FROM clause
PS
1. Хорошо бы проверять существование таблицы ##tmpTable до выполнения запроса
2. Помните, что exec и sp_executesql выполняются как отдельный batch
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Использование переменных/параметров во FROM clause / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]