Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Vi-P, у меня такое предложение:
Т.к. все делается в одной транзакции, то можно сделать так:
Открыть транзакцию, написать
Цитата Vi-P:
INSERT INTO Table2
(NAME1, NAME2, NAME3, NAME4, NAME5, NAME6)
VALUES (@S1, @S2, @S3, @S4, @S5, @S6) »
Цитата Vi-P:
через переменные только NAME1 и NAME5. Получилось. В Table2 появилась строка nID=7, в которой 2 поля
заполнены нужными значениями из Table1. »
В итоге у нас имеется строка с максимальным nID в Table2.
Накидал вот такой код, попробуйте немного видоизменить и применить:

Код: Выделить весь код
DECLARE @S1 varchar(20)
DECLARE @S2 varchar(20)
DECLARE @S3 varchar(20)
DECLARE @S4 varchar(20)
DECLARE @S5 varchar(20)
DECLARE @S6 varchar(20)


delete from table2 ' удаляем все данные из второй таблицы для теста


' определяем переменные
SELECT @S1 = NAME1 
FROM Table1
WHERE nID = 2

SELECT @S2 = NAME2 
FROM Table1
WHERE nID = 2

SELECT @S3 = NAME3
FROM Table1
WHERE nID = 2

SELECT @S4 = NAME4
FROM Table1
WHERE nID = 2

SELECT @S5 = NAME5 
FROM Table1
WHERE nID = 2

INSERT INTO Table2
(NAME1, NAME5 )
VALUES (@S1, @S5)

'делаем просмотр всех данных для просмотра
select * from table1

select * from table2

' Собственно, само обновление нужными данными
update table2 set name2=@S2, name3=@s3, name4=@s4 where table2.nid=(select max(nid) from table2)
' И просматриваем конечный результат
select * from table2
При первом просмотре в table2 видим:
Код: Выделить весь код
4	name11    	NULL	NULL	NULL	name55
при последнем просмотре видим:
Код: Выделить весь код
4	name11    	name22    	name33    	name44    	name55

Подойдет вам такое решение?

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 02:46, 20-10-2008 | #9