Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как присвоить переменную в именовании таблицы?  [new]
LisSp
Member

Откуда:
Сообщений: 186
Добрый день!

Подскажите, пожалуйста, как присвоить переменную в именовании таблицы?

Например:
нужна для вывода таблица 'Table11'

declare @Kod int
select @Kod='11'

select *
from Table@Kod
19 май 14, 08:34    [16034796]     Ответить | Цитировать Сообщить модератору
 Re: Как присвоить переменную в именовании таблицы?  [new]
TempFox
Guest
Прочитайте в SQL Server Books Online про EXEC | EXECUTE, посмотрите примеры.
19 май 14, 09:08    [16034860]     Ответить | Цитировать Сообщить модератору
 Re: Как присвоить переменную в именовании таблицы?  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
FAQ
19 май 14, 09:17    [16034878]     Ответить | Цитировать Сообщить модератору
 Re: Как присвоить переменную в именовании таблицы?  [new]
LisSp
Member

Откуда:
Сообщений: 186
А если эта переменная - это последние две цифры текущего года?

DECLARE @Kod char(2), @god date
set @Kod='14'
set @god=getdate()

select (substring((convert(nchar(4),@god)),3,2))

execute ('select Stroka1 from Table' +@Kod )


Как объединить это?
19 май 14, 10:41    [16035169]     Ответить | Цитировать Сообщить модератору
 Re: Как присвоить переменную в именовании таблицы?  [new]
TempFox
Guest
Попробуйте так:
EXECUTE ('select Stroka1 from Table' + cast(datepart(yy, getdate()) as varchar(2))
19 май 14, 10:54    [16035219]     Ответить | Цитировать Сообщить модератору
 Re: Как присвоить переменную в именовании таблицы?  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
LisSp
А если эта переменная - это последние две цифры текущего года?

DECLARE @Kod char(2), @god date
set @Kod='14'
set @god=getdate()

select (substring((convert(nchar(4),@god)),3,2))

execute ('select Stroka1 from Table' +@Kod )



Как объединить это?
Завязывать надо с этим.
Добавить поле "Год" в таблицу, и пусть это будет одна таблица!
При желании секционировать её по полю "Год".
19 май 14, 10:55    [16035223]     Ответить | Цитировать Сообщить модератору
 Re: Как присвоить переменную в именовании таблицы?  [new]
TempFox
Guest
* в предыдущем сообщении не хватает закрывающей скобки
19 май 14, 10:56    [16035228]     Ответить | Цитировать Сообщить модератору
 Re: Как присвоить переменную в именовании таблицы?  [new]
LisSp
Member

Откуда:
Сообщений: 186
Спасибо!!!
19 май 14, 11:31    [16035398]     Ответить | Цитировать Сообщить модератору
 Re: Как присвоить переменную в именовании таблицы?  [new]
vikkiv
Member

Откуда: London
Сообщений: 2712
LisSp, Можно так ещё:
declare @tbl Table(id int identity(1,1),name varchar(8)not null default'');
insert into @tbl(name)values('tst1'),('tst2')
select*from @tbl
19 май 14, 12:31    [16035831]     Ответить | Цитировать Сообщить модератору
 Re: Как присвоить переменную в именовании таблицы?  [new]
vikkiv
Member

Откуда: London
Сообщений: 2712
хотя наверное нет - неверно понял вопрос =)
19 май 14, 12:42    [16035915]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить