在 visual studio - SQL 中按天重置自动增量

Reset Auto Increment by day in visual studio - SQL

我正在寻找一种解决方案来重置按天更改的自动增量 ID。

假设您有一个订单并且想要存储 2 个标识号... daylie 订单号和订单本身。

例如ORDER#123123 ORDERDAY#3 Article#Something 等

订单号将自动递增并且是主要的,而日期 ID 将只是一个计数器,用于查看公司一天收到多少订单。

日期计数器必须在新的一天重新设置。

我目前正在使用本地 SQL 服务器数据库开发 windows 表单项目。

提前致谢

如果您存储日期和 运行 ID(IDENTITY column),您可以使用

轻松实现
SELECT ROW_NUMBER() OVER(PARTITION BY YourDateColumn ORDER BY YourIDColumn) AS DayId 
FROM Your Table

注意:如果将时间与日期一起存储,则必须确保 PARTITION BY 是使用纯日期值完成的!

切勿物理删除行,如果您需要删除,请使用某种状态列将其标记为已删除。

您应该对删除操作使用触发器而不是触发器以确保数据完整性...

您可以安排每天将日期 ID 重置为 1 的作业:

MSDN SQL Server - Schedule a job