在沒有變量的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>直接檢索新插入的GUID。此方法是可靠的,並且避免了對變量的需求。
OUTPUT
ColGuid
進一步讀取:@op
@op
理解SQL Server輸出子句(此鏈接進行了稍微修改以獲得更好的SEO和CLARITY)
以上是如何在不使用變數的情況下在 SQL Server 中檢索新插入的 GUID 主鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!