sql-server-2005 - SQL Server 2005中手动实现的Identity列

标签 sql-server-2005 identity

我有一个客户绝对坚持他们的数据库不应该有标识列,并且在创建表行的存储过程中手动实现了他自己的增量器。它的编写是为了确定下一个 ID 值,然后在插入语句中使用它。显然,这很容易出现许多问题。

所以这是我的问题:假设通常的自动方法是不可能的,那么在 SQL 中实现标识列的最佳方法是什么?

最佳答案

Assuming that the usual, automatic, method is out of the question, what is the best way to implement an identity column in SQL?

根据定义,通常的自动方法是使用identity 列。其他一切都是蹩脚的方法。与您的客户讨论此事。假设他们这样做有原因或有误解,您可以帮助他们解决原因或澄清身份不是危险的怪物。


如果无论如何都必须执行此操作,请确保跟踪身份(递增身份)和向表中插入新行的任务是在具有适当隔离级别的单个事务中完成的。 (并开始寻找新工作)

关于sql-server-2005 - SQL Server 2005中手动实现的Identity列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2330398/

相关文章:

sql - 如何将一个表中的数据追加到另一个表中,其中一列是带有 sql 的 xml?

sql-server-2005 - 当存储过程中省略参数值时,希望它显示所有值

iphone - SecItemAdd 创建两个身份

sql-server - 使用 SqlClient 类时如何在 SQL Server 中获取插入的 ID?

sql-server-2005 - 将 SQL 2005 应用程序移动到 SQL 2008

sql-server - 西里尔字母搜索

sql - 将关系数据从数据库复制到数据库

security - http ://schemas. xmlsoap.org/ws/2005/05/identity/claims/name 在哪里定义?

identity - POCO 具有新的 ASP.NET Identity 和 MVC 5.0 + 基于声明的 Identity

sql-server - 表 'COM_MST' 中标识列的显式值只能在使用列列表且 IDENTITY_INSERT 为 ON 时指定