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

Откуда:
Сообщений: 140
Суть такова, в таблицы нужно проапдейти данные по условию where kazn_plat.operId='58_podkrep' and kazn_plat.vdk='58' and kazn_plat.dt<'20121123' из другой таблице. Код который представлен выши ругаеться на @id в запросе(((

declare @count int
declare @id int

set @count=(select count(*) from kazn_plat where operId='58_podkrep' and vdk='58' and dt<'20121123')
set @id=1

while @id<=@count
	begin
		Print @id
		update kazn_plat set s1=[CRDOC].[website1].[dbo].[kazn_plat].s1
			from [CRDOC].[website1].[dbo].[kazn_plat] where [CRDOC].[website1].[dbo].[kazn_plat].id=[kazn_plat].@id
			where kazn_plat.operId='58_podkrep' and kazn_plat.vdk='58' and kazn_plat.dt<'20121123'
	set @id=@id+1
	end
22 ноя 12, 16:23    [13514298]     Ответить | Цитировать Сообщить модератору
 Re: update с другой таблице  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
вы синтаксис команды update сами выдумали ?
22 ноя 12, 16:31    [13514361]     Ответить | Цитировать Сообщить модератору
 Re: update с другой таблице  [new]
icprog
Member

Откуда:
Сообщений: 166
Видимо ругается в этом месте?
[kazn_plat].@id
22 ноя 12, 16:32    [13514373]     Ответить | Цитировать Сообщить модератору
 Re: update с другой таблице  [new]
icprog
Member

Откуда:
Сообщений: 166
[CRDOC].[website1].[dbo].[kazn_plat].s1
			from [CRDOC].[website1].[dbo].[kazn_plat] where [CRDOC].[website1].[dbo].[kazn_plat].id=[kazn_plat].@id

А здесь наверно select пропущен
22 ноя 12, 16:35    [13514396]     Ответить | Цитировать Сообщить модератору
 Re: update с другой таблице  [new]
Glory
Member

Откуда:
Сообщений: 104760
update a set s1=b.s1
from kazn_plat a
inner join [CRDOC].[website1].[dbo].[kazn_plat] b on b.id=a.id
where a.operId='58_podkrep' and a.vdk='58' and a.dt<'20121123'
22 ноя 12, 16:37    [13514420]     Ответить | Цитировать Сообщить модератору
 Re: update с другой таблице  [new]
Maxx
Member [скрыт]

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

да нет он просто с какого то решил,что поле
kazn_plat set s1

будет почему то апдейтиться из таблицы
[CRDOC].[website1].[dbo].[kazn_plat]

по условию
[CRDOC].[website1].[dbo].[kazn_plat].id=[kazn_plat].@id


потому ,что

d
eclare @count int
declare @id int

set @count=(select count(*) from kazn_plat where operId='58_podkrep' and vdk='58' and dt<'20121123')
set @id=1

while @id<=@count


феерично,как минимум
22 ноя 12, 16:38    [13514421]     Ответить | Цитировать Сообщить модератору
 Re: update с другой таблице  [new]
intruders
Member

Откуда:
Сообщений: 140
)) ну типо того.
Как оказалось можно вообще без цикла
  update website..kazn_plat set kazn_plat.s1=b.s1
               from website..kazn_plat a inner join [CRDOC].[website1].[dbo].[kazn_plat] b on a.id=b.id
               where a.operId='58_podkrep' and a.vdk='58' and a.dt<'20121123'
22 ноя 12, 16:40    [13514444]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить