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 回答