gpt4 book ai didi

sql-server - 以编程方式在表变量中设置身份种子

转载 作者:行者123 更新时间:2023-12-02 17:21:24 26 4
gpt4 key购买 nike

我需要创建一个带有标识种子的表变量,该标识种子以另一个表中字段的最大值开头?

我已经尝试过这个:

DECLARE @IdentitySeed int

SET @IdentitySeed = (SELECT MAX(HHRecId) +1 FROM xxx )

DECLARE @HH TABLE (
HHId INT IDENTITY(@IdentitySeed,1)
,AddressType CHAR(1)
,Address1 VARCHAR(100)
,City VARCHAR(50)
,State VARCHAR(2)
,Zip VARCHAR(5)
,LastName VARCHAR(50)
)

但这会产生语法错误。

目前,我已向表变量添加了另一个 int 列,并使用标识列和 @IdentitySeed 的总和进行更新,但我想找到一种无需更新即可实现此目的的方法。

最佳答案

您可以使用以下方法检查 IDENTITY 列的当前值:

DBCC CHECKIDENT (#HH)

您也可以稍后使用以下命令更改它:

DBCC CHECKIDENT (#HH, RESEED, 42)

这也适用于新值的变量:

DBCC CHECKIDENT (#HH, RESEED, @IdentitySeed)

它适用于本地和全局临时表(即 CREATE TABLE #HH (...)CREATE TABLE ##HH (....) - 但是它似乎不适用于表变量:-(

抱歉,您似乎无法使用表变量执行此操作......

关于sql-server - 以编程方式在表变量中设置身份种子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1335575/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com