|
использование 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
|
Скажите, я правильно указываю данные для подключения?
|
|
13
pedagog
23.06.16
✎
23:17
|
вернее вот ссылка
|
|