Имя: Пароль:
1C
1С v8
использование sql запроса в 1с.
, ,
0 pedagog
 
23.06.16
15:04
есть запрос sql, который присваивает выбранному реквизиту выбранного объекта новое значение (в примере новое значение = 15,5). мне нужно переделать этот запрос, чтобы выбранному реквизиту присваивалось значение = значение реквизита/2.
declare @mCOUNT int, @mtop int
set dateformat ymd
select @mtop = 100000
select @mCOUNT = COUNT(*)
from _AccumRg6524
  where  not _AccumRg6524._Fld6528 = (15.500)
while @mCOUNT > 0
begin
select @mCOUNT = @mCOUNT - @mtop
UPDATE TOP (@mtop) _AccumRg6524
SET _AccumRg6524._Fld6528 = (15.500)
  where  not _AccumRg6524._Fld6528 = (15.500)
end
1 Ёпрст
 
23.06.16
15:05
SET _AccumRg6524._Fld6528 =  _AccumRg6524._Fld6528/2
2 Ёпрст
 
23.06.16
15:07
и это, всем элементам ? или только тем, где значение реквизита не равно 15 ?
3 pedagog
 
23.06.16
15:07
а вот эту строку
where  not _AccumRg6524._Fld6528 = (15.500)
убрать?
4 pedagog
 
23.06.16
15:07
всем реквизитам
5 Ёпрст
 
23.06.16
15:08
если всем, то так:

update _AccumRg6524
set _Fld6528 = _Fld6528/2
6 pedagog
 
23.06.16
15:10
(5) Это вместо этих строк
UPDATE TOP (@mtop) _AccumRg6524
SET _AccumRg6524._Fld6528 = (15.500)
  where  not _AccumRg6524._Fld6528 = (15.500) ?
7 pedagog
 
23.06.16
15:18
(5) не поняла, как будет выглядеть весь запрос?
8 Necessitudo
 
23.06.16
15:18
А чего так сложно? зачем цикл?
9 pedagog
 
23.06.16
15:19
если я правильно понимаю, то обрабатываются записи по 100000. select @mtop = 100000.
10 Ёпрст
 
23.06.16
15:20
(7) как в (5) , это весь текст запроса
11 pedagog
 
23.06.16
15:34
(10) спасибо, буду пробывать
12 pedagog
 
23.06.16
23:15
https://yadi.sk/i/MgU88vXUskPPg
Скажите, я правильно указываю данные для подключения?
13 pedagog
 
23.06.16
23:17
https://yadi.sk/i/YYTnCV7sskPZp вернее вот ссылка
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn