Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Клонирование и маппинг  [new]
Леша777
Guest
Есть таблица :
DECLARE @Source 
                         (
                           idSource bigint not null primary key identity(1,1)
                          ,[Description]  nvarchar(MAX) NOT NULL
                         )

DECLARE @Mapping 
                           (
                             idOld bigint NOT NULL  -- idSource старой записи 
                            ,idNew bigint NULL       -- idSource созданной(клонированной) записи 
                           )
Задача состоит в том чтобы клонировать некоторые записи из таблицы @Source.
INSERT INTO @Source 
                              (
                                [Description] bigint 
                              )
SELECT s.[Description]
FROM @Source s 
WHERE --- некое условие 

При этом заполнить таблицу маппинга . Возможно ли такое без курсора ? output может, но как в нем получить старое значение .
Версия сервера 2005.

Спасибо.
29 июл 09, 20:35    [7476029]     Ответить | Цитировать Сообщить модератору
 Re: Клонирование и маппинг  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
Это надо на временных таблах?
OUTPUT для команды INSERT обрезан по самое е..., короче очень неудобно.
Можно продекларить по другому:
DECLARE @Table TABLE (
	 ID		BigInt		PRIMARY KEY IDENTITY
	,[Description]	NVarChar(max)	NOT NULL
	,Source		BigInt		    NULL
)
--
INSERT	@Table (
	 [Description]
	,Source
)SELECT	 [Description]
	,ID
FROM	@Table
WHERE	-- некое условие
Если не устраивает, опишите задачу более полно.
29 июл 09, 21:11    [7476081]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить