在没有变量的SQL Server中检索新插入的GUID主键
>与GUID作为主要密钥通常需要在不使用变量的情况下检索新插入的GUID。本文演示了如何有效实现这一目标。
>>
为什么scope_identity()不适用于guids>
>不适合检索GUID,因为它仅具有基于整数的身份列的功能。>SCOPE_IDENTITY()
解决方案:输出子句
> 子句也提供了一个干净有效的解决方案,即使插入多行。
OUTPUT
子句将插入的值重定向到临时表
<code class="language-sql">CREATE TABLE dbo.GuidPk ( ColGuid uniqueidentifier NOT NULL DEFAULT NewSequentialID(), Col2 int NOT NULL ); DECLARE @op TABLE ( ColGuid uniqueidentifier ); INSERT INTO dbo.GuidPk (Col2) OUTPUT inserted.ColGuid INTO @op VALUES (1); SELECT * FROM @op; SELECT * FROM dbo.GuidPk;</code>
OUTPUT
ColGuid
进一步读取:@op
@op
理解SQL Server输出子句(此链接进行了稍微修改以获得更好的SEO和CLARITY)
以上是如何在没有变量的情况下检索SQL Server中新插入的GUID主键?的详细内容。更多信息请关注PHP中文网其他相关文章!