1

Sql Serverにこのテーブルがあります

  • id int
  • journal_date 日時
  • シーケンス整数

私がやろうとしているのは、日時の値に基づいてシーケンスを生成することです。

データベースの例

| id | journal_date | sequence |
--------------------------------
|  1 | 2012-01-01   |      1   |
|  2 | 2012-01-01   |      2   |
|  3 | 2012-01-02   |      1   |
|  4 | 2012-01-01   |      3   |

休止状態のモデルと注釈でこれを行う方法は?

4

1 に答える 1

0

最初にシーケンス列を埋める

UPDATE journaltable t1 SET sequence =
  (SELECT COUNT (*) FROM journaltable t2
   WHERE t2.journal_date = t1.journal_date AND t2.id < t1.id);

同期を保つには、次のトリガーを使用します

UPDATE journaltable t1 SET sequence =
  (SELECT COUNT (*) FROM journaltable t2 WHERE t2.journal_date = t1.journal_date AND t2.id < t1.id)
  WHERE t1.id = @newlyInsertedId;

またはHibernateを使用してコードで処理します

于 2012-01-13T10:25:07.407 に答える