powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / цикл
7 сообщений из 7, страница 1 из 1
цикл
    #35221853
durban2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Окружение ASA 9.0 , PB10.5

Как в очередной строке таблицы значение
в столбце ‘Salary’
увеличить на 1 ?
Ps: сценарий прикрепляется к командной кнопке.

integer var
var =33
UPDATE assign_5a // имя таблицы
SET Salary=:var+1; // во все строки помещено 34, т.е. 33 + 1
...
Рейтинг: 0 / 0
цикл
    #35221971
18-я весна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
durban2Как в очередной строке таблицы значение
в столбце ‘Salary’
увеличить на 1 ?

1)
Понятие "очередная строка" корректно только когда задана сортировка И известно значение ключа сортировки по отношению к которому нужная строка будет являться очередной ИЛИ идет цикл по всем строкам в порядке сортировки.

2) фраза "в очередной строке таблицы в столбце ‘Salary’ увеличить на 1" может трактоваться как:
- взять значение из столбца Salary, увеличить на единицу и записать обратно и так для всех строк
либо
- для каждой строки значение некоего счетчика увеличить на 1 и присвоить в Salary независимо от того что в Salary было записано до этого

Сформулируйте вопрос с учетом этих замечаний, а то пока непонятно, что вы хотите сделать.
...
Рейтинг: 0 / 0
цикл
    #35222115
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Please view declare cursor ....
...
Рейтинг: 0 / 0
цикл
    #35222287
durban2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторСформулируйте вопрос с учетом этих замечаний, а то пока непонятно, что вы хотите сделать.

Код: plaintext
1.
2.
3.
integer var
var = 1 
UPDATE assign_5a 
SET Salary=:var+ 1 ;

показанные 2 строки во всех
строках таблицы помешают
одно и то же значение.
Я по не знанию предполагал
существования выражений SQL
позволяющие во всех строках
(пускай их 1000)
заполнить по возростанию
от 1, 2, 3, 4 - 1000

авторPlease view declare cursor ....
это долгий путь, предполагал короче
...
Рейтинг: 0 / 0
цикл
    #35222591
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
18-я весна- взять значение из столбца Salary, увеличить на единицу и записать обратно и так для всех строк
Кстати, это было первым, о чём я подумал.

18-я весна- для каждой строки значение некоего счетчика увеличить на 1 и присвоить в Salary независимо от того что в Salary было записано до этого
Сделать это на ASA можно и без курсора.
...
Рейтинг: 0 / 0
цикл
    #35224241
sPaul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пусть существует уникальное поле id, тогда:

update assign_5a
set var = (select count(*) from assign_5a as lt where lt.id <= tbb.id).
...
Рейтинг: 0 / 0
цикл
    #35224243
sPaul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sPaulПусть существует уникальное поле id, тогда:

update assign_5a
set var = (select count(*) from assign_5a as lt where lt.id <= assign_5a.id).
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / цикл
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]