Последовательность цикла для каждого значения - PullRequest
2 голосов
/ 05 декабря 2011

У меня есть такая таблица:

           Table "test_seq"
 ------------------------------------------------
   Column   |          Type          | Modifiers
 ------------------------------------------------ 
 account_id | integer                | not null
 code       | integer                | not null
 data       | character varying(255) | 

 Indexes:
  "test_seq_pkey" PRIMARY KEY, btree (account_id, code)

Задача: у каждого «account_id» может быть «код» с диапазоном от 1 до 3.Если следующий код account_id равен 4, данные в строке 1 перезаписываются и последовательность начинается в цикле с 1.

Пример:

account_id  code       data
    1         1       'data 1'
    1         2       'data 2'
    1         3       'data 3'
    1         1       'data 4'  # first row destroyed

Могу ли я решить эту задачу только с помощью инструментов БД?

1 Ответ

1 голос
/ 05 декабря 2011

Хотя я не понимаю цели этого, вы можете достичь этого с помощью триггеров и хранимых процедур. хранимая процедура будет вызываться вместо прямой вставки (вы можете удалить разрешения для прямой вставки).

...