Joh*_*ren 0 sql t-sql sql-server
通常,当您指定标识列时,您将在SQL Server中获得一个方便的接口,用于请求特定行.
SELECT * FROM $IDENTITY = @pID
Run Code Online (Sandbox Code Playgroud)
如果是标识列,您实际上并不需要关注自己的名称,因为只能有一个.
但是,如果我有一个主要由临时数据组成的表,该怎么办?大量插入和大量删除.有没有一种简单的方法可以重用身份值.
我希望能够编写一个函数,该函数将返回说NEXT_SMALLEST($IDENTITY)下一个标识值并以故障安全方式执行.
基本上找到未使用的最小值.这并不是一件容易的事,但我想要的是能够告诉SQL Server这是我的函数,它将生成身份值.但我所知道的是,没有这样的功能......
实现全局数据库ID,我需要提供一个我可以控制的默认值.
我的想法是基于我应该能够拥有一个包含所有已知ID的表,然后来自其他需要全局ID的表的每一行ID都会引用该表.默认值将由类似的东西提供
INSERT INTO GlobalID
RETURN SCOPE_IDENTITY()
Run Code Online (Sandbox Code Playgroud)