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

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

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
16.02.2001, 14:43
    #32002344
Дед Маздай
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли использовать что-то типа макроподстановки в "FROM"?
Так даже если бы можно было делать select * from @str, все равно эти неудобства бы никуда не делись. Как же он будет план запроса строить, если таблица заранее неизвестна? Не надо от SQL требовать то же, что и от С. Это языки разного устройства и назначения.
...
Рейтинг: 0 / 0
16.02.2001, 16:31
    #32002349
VadimB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли использовать что-то типа макроподстановки в "FROM"?
Если заренее извесны имена всех таблиц (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
16.02.2001, 16:32
    #32002350
VadimB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли использовать что-то типа макроподстановки в "FROM"?
Если заренее извесны имена всех таблиц (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
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Можно ли использовать что-то типа макроподстановки в "FROM"? / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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