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

Откуда:
Сообщений: 53
Я новичок в работе с хранимыми процедурами. Нужная срочная помощь, а то я в ступоре!
Задача: есть таблицы по годам, например kor_2012, kor_2011,oplata_2012 и т.д. Необходимо в процедуре при обращении к таблице kor_2012 - 2012 заменить на переменную. Вот код
ALTER PROCEDURE [dbo].[CopyBase] 
	@NYear varchar(10)
	  AS
BEGIN
SET NOCOUNT ON;

update statistics kor_"+@NYear+"

END
22 авг 12, 10:49    [13047550]     Ответить | Цитировать Сообщить модератору
 Re: использование переменной в имени таблице в хранимой процедуре  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
https://www.sql.ru/faq/faq_topic.aspx?fid=104
22 авг 12, 10:51    [13047561]     Ответить | Цитировать Сообщить модератору
 Re: использование переменной в имени таблице в хранимой процедуре  [new]
Nelya_Kost
Member

Откуда:
Сообщений: 53
здесь пример замены полного имени таблицы на переменную, а мне надо только часть имени заменить
22 авг 12, 12:42    [13048477]     Ответить | Цитировать Сообщить модератору
 Re: использование переменной в имени таблице в хранимой процедуре  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
Nelya_Kost
здесь пример замены полного имени таблицы на переменную, а мне надо только часть имени заменить
Лолшто?
22 авг 12, 12:42    [13048479]     Ответить | Цитировать Сообщить модератору
 Re: использование переменной в имени таблице в хранимой процедуре  [new]
Nelya_Kost
Member

Откуда:
Сообщений: 53
возвращаюсь к своей проблеме. А можно ли сделать так
insert into  kor_''+YEAR(GetDate())+''
, где kor_''+YEAR(GetDate())+'' это имя таблицы, в которой вторая часть имени меняется в зависимости от года.
1 апр 13, 14:52    [14121766]     Ответить | Цитировать Сообщить модератору
 Re: использование переменной в имени таблице в хранимой процедуре  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Nelya_Kost,

можно ,но только через DSQL , НО ето все от лукавого
Да и ссылку как ето сделать Вам уже привели
1 апр 13, 14:55    [14121786]     Ответить | Цитировать Сообщить модератору
 Re: использование переменной в имени таблице в хранимой процедуре  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
Nelya_Kost
возвращаюсь к своей проблеме. А можно ли сделать так
insert into  kor_''+YEAR(GetDate())+''
, где kor_''+YEAR(GetDate())+'' это имя таблицы, в которой вторая часть имени меняется в зависимости от года.
Откройте наконец ссылку и почитайте.
1 апр 13, 14:57    [14121792]     Ответить | Цитировать Сообщить модератору
 Re: использование переменной в имени таблице в хранимой процедуре  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
Nelya_Kost,

что-то за 8 месяцев Вы недалеко продвинулись
1 апр 13, 14:58    [14121803]     Ответить | Цитировать Сообщить модератору
 Re: использование переменной в имени таблице в хранимой процедуре  [new]
Nelya_Kost
Member

Откуда:
Сообщений: 53
iap,
8 месяцев назад реализовала другим методом. А сейчас опять столкнулась с этой проблемой. Ссылку читала, но там я ничего не нашла для реализации своей задачи.
1 апр 13, 15:27    [14121980]     Ответить | Цитировать Сообщить модератору
 Re: использование переменной в имени таблице в хранимой процедуре  [new]
Glory
Member

Откуда:
Сообщений: 104760
Nelya_Kost
Ссылку читала, но там я ничего не нашла для реализации своей задачи.

За 8 месяцев не научились конкотенировать строковые переменные ?
1 апр 13, 15:29    [14121994]     Ответить | Цитировать Сообщить модератору
 Re: использование переменной в имени таблице в хранимой процедуре  [new]
Nelya_Kost
Member

Откуда:
Сообщений: 53
если подскажете, буду очень признательна!
2 апр 13, 15:02    [14126835]     Ответить | Цитировать Сообщить модератору
 Re: использование переменной в имени таблице в хранимой процедуре  [new]
Glory
Member

Откуда:
Сообщений: 104760
Nelya_Kost
если подскажете, буду очень признательна!

Изучить базовые операторы языка.
http://msdn.microsoft.com/en-us/library/ms174986.aspx
2 апр 13, 15:03    [14126841]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить