powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / транзакционный счетчик
5 сообщений из 5, страница 1 из 1
транзакционный счетчик
    #39475955
am_sasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
В PostgreSQL новичок, а нужно перевести с MSSQL простой счетчик.
Тупо в лоб не получается, авторERROR: column "result" of relation "counterareas" does not exist что понятно. А как?
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
DECLARE
result bigint;

BEGIN
    UPDATE   CounterAreas SET result = Counter = Counter + 1
    WHERE    Counter_ID = pid and (CounterAreaNext IS NULL);

   	RETURN QUERY
    SELECT result AS counterValue;
END;

прошу помощи.
Спасибо!
...
Рейтинг: 0 / 0
транзакционный счетчик
    #39475962
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
am_sasa,

Код: sql
1.
2.
3.
4.
5.
create or replace function fooincr() returns int as $$ 
    UPDATE   CounterAreas SET Counter = Counter + 1
    WHERE    Counter_ID = pid and (CounterAreaNext IS NULL)
    returning Counter; 
$$ language sql;


И всё.
...
Рейтинг: 0 / 0
транзакционный счетчик
    #39475968
am_sasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Melkij,

Так просто? спасибо.
А Counter - это что, столбец, а из чего следует? (повторюсь, новичок)
Если столбец таблицы, то между "UPDATE" и "returning" может кто то вклиниться...
Еще раз спасибо!
...
Рейтинг: 0 / 0
транзакционный счетчик
    #39475971
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
am_sasaЕсли столбец таблицы, то между "UPDATE" и "returning" может кто то вклиниться...
Не может.
Это один-единственный запрос update ... returning.
И, во-вторых, хранимка всегда в транзакции, взятые блокировки до окончания транзакции не возвращаются, update берёт пишущую блокировку на строку.
...
Рейтинг: 0 / 0
транзакционный счетчик
    #39475977
am_sasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Melkij,

Спасибо большое!!!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / транзакционный счетчик
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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