代码之家  ›  专栏  ›  技术社区  ›  Phil Gan

SQL Server 2005中手动实现的标识列

  •  2
  • Phil Gan  · 技术社区  · 16 年前

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

    2 回复  |  直到 16 年前
        1
  •  4
  •   Mehrdad Afshari    16 年前

    假设不可能使用通常的自动方法,那么在SQL中实现标识列的最佳方法是什么?

    根据定义,通常的自动方法是使用 identity 身份 他不是一个危险的怪物。


    如果必须这样做,请确保跟踪标识(递增标识)并向表中插入新行的任务在具有适当隔离级别的单个事务中完成(并开始寻找新工作)

        2
  •  1
  •   Greg Roberts    16 年前

    NextId 表,可以推测它包含下一个要使用的id。

    ,这是一种可能的方法,除了让客户满意之外,没有任何真正的好处。