sql-server - 在 SQL Server 中,如何像在 Postgres 中那样将自动增量字段的下一个值设置为任意值?

标签 sql-server postgresql auto-increment

是否可以像在 Postgres 中那样在 SQL Server 中设置 autoincrement 字段的下一个值?

好奇的是,这里是整个背景故事。我的公司曾经使用 Postgres,它允许您轻松地将自增字段的下一个值设置为任意值。

新公司收购了旧公司,现在我们正在将 Postgres 数据导入 SQL Server。尽管有数千个 8 位数字,但帐户上自动递增的 AcctID 字段已设置为 9 位数字。显然有人出于某种现在未知的原因在 Postgres 中做了这件事。

所以现在在新的 SQL Server 数据库中,新账户有 9 位数的账户 ID,但是客户的会计软件不能处理 9 位数的账户号码,所以他们添加的任何新账户都不能被处理他们的会计部门,直到这个问题得到解决。

当然,AccountsAcctID字段可以有多达72个不同的表,客户在意识到之前创建了大约360个新账户涉及的问题,因此保存数据、截断表并重新插入数据将是一项繁重的任务。

更好的方法是将 AcctID 的自动增量值设置为最后一个 8 位数字值 + 1。那么至少他们能够添加新帐户,同时解决 9-正在处理数字帐户。事实上,他们声称他们只需要他们添加的 360 帐户中的 3 个。

那么是否可以像在 Postgres 中那样在 SQL Server 中重置字段的自动增量值?

最佳答案

在 SQL Server 中,您可以像这样重置自动增量列:

dbcc checkident ( table_name, RESEED, new_value )

可以查看MSDN的相关文档here .

关于sql-server - 在 SQL Server 中,如何像在 Postgres 中那样将自动增量字段的下一个值设置为任意值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8084491/

相关文章:

sql-server - BCP 和 ó 的字符编码问题

ruby-on-rails - Ruby on Rails 中的竞争条件

mysql - 添加自增sql脚本

SQL 服务器 : Retrieve auto-incremented ID inside a stored procedure?

mysql - 我怎样才能让一个mysql主键即使在被删除后也永远不会重复

sql - SQL Server 2014 中仅分组后的不同值

sql - 插入语法时遇到问题

SQL 排序/转换最后五个字符的问题

sql - PostgreSQL 全部在数组中

postgresql - 我的索引或列类型是否减慢了我的查询速度?