Последовательное управление токенами на сервере sql - PullRequest
1 голос
/ 26 сентября 2019

Я ищу лучшее решение для выполнения следующей задачи

У меня есть таблица, как показано ниже

CouponNo   Status      Sequence
A101      Completed       1
A102      Completed       2
A103      Completed       3
A104      Serving         4
A105      Pending         5
A106      Pending         6
A107      Pending         7
A108      Pending         8
A109      Pending         9
A110      Pending         10
A111      Pending         11
A112      Pending         12
A113      Pending         13
A114      Pending         14
A115      Pending         15

У меня есть случай, когда токены могут быть приостановлены.Политика гласит, что когда мы возобновляем токены удержания, они должны быть размещены после 3 токенов от текущего обслуживающего токена. В нашем примере допустим, что A105 и A106 переведены в режим ожидания.Тогда таблица становится

   CouponNo   Status      Sequence
    A101      Completed       1
    A102      Completed       2
    A103      Completed       3
    A104      Serving         4
    A105      Hold           -99
    A106      Hold           -99
    A107      Pending         5
    A108      Pending         6
    A109      Pending         7
    A110      Pending         8
    A111      Pending         9
    A112      Pending         10
    A113      Pending         11
    A114      Pending         12
    A115      Pending         13

Либо я ставлю последовательность как -99 для всех заблокированных токенов, либо лучше переместить их в таблицу HOLD?

во-вторых, когда мы возобновим оба, я хочуТаблица, подобная приведенной ниже

      CouponNo   Status      Sequence
        A101      Completed       1
        A102      Completed       2
        A103      Completed       3
        A104      Serving         4
      **A105      Pending         8**
      **A106      Pending         9**            
        A107      Pending         5
        A108      Pending         6
        A109      Pending         7
        A110      Pending         10
        A111      Pending         11
        A112      Pending         12
        A113      Pending         13
        A114      Pending         14
        A115      Pending         15

Как этого добиться, создав общую процедуру.

...