powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Можно ли использовать что-то типа макроподстановки в "FROM"?
4 сообщений из 4, страница 1 из 1
Можно ли использовать что-то типа макроподстановки в "FROM"?
    #32002340
Alexander Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа, есть некоторая проблема.

Если я не знаю заранее из какой таблицы я буду делать выборку, допустим если название таблицы хранится в строковой переменной, то как мне указать в выборке, что мне нужно сделать выборку именно из неё???
т.е.

declare @ctable_name char(4)
set @ctable_name = "stud"

select * from @ctable_name ?????????????????????????????????????
не получается... 8-( есть один способ, но он уж очень нерациональный

declare @cCmd varchar(200)
set @cCmd = "select * from "+@cTable_Name
exec(@cmd)

Подскажите как обойти этот способ - создаются очень большие неудобства. Заранее благодарю.
...
Рейтинг: 0 / 0
Можно ли использовать что-то типа макроподстановки в "FROM"?
    #32002344
Фотография Дед Маздай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так даже если бы можно было делать select * from @str, все равно эти неудобства бы никуда не делись. Как же он будет план запроса строить, если таблица заранее неизвестна? Не надо от SQL требовать то же, что и от С. Это языки разного устройства и назначения.
...
Рейтинг: 0 / 0
Можно ли использовать что-то типа макроподстановки в "FROM"?
    #32002349
VadimB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если заренее извесны имена всех таблиц (T1,T2...), то можно:

if @ctable_name = 'T1' begin select * from T1 return end
if @ctable_name = 'T2' begin select * from T1 return end
if @ctable_name = 'T3' begin select * from T1 return end
...
...
Рейтинг: 0 / 0
Можно ли использовать что-то типа макроподстановки в "FROM"?
    #32002350
VadimB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если заренее извесны имена всех таблиц (T1,T2...), то можно:
if @ctable_name = 'T1' begin select * from T1 return end
if @ctable_name = 'T2' begin select * from T2 return end
if @ctable_name = 'T3' begin select * from T3 return end
...
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Можно ли использовать что-то типа макроподстановки в "FROM"?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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