gpt4 book ai didi

sql-server - 如何在 SQL Server 中增加(或保留)IDENTITY 值而不插入表

转载 作者:行者123 更新时间:2023-12-02 21:47:53 25 4
gpt4 key购买 nike

有没有办法保留或跳过或增加标识列的值?

我有两个表以一对一的关系连接。第一个具有 IDENTITY PK 列,第二个具有 int PK(不是 IDENTITY)。我以前先插入,获取ID,然后插入第二个。而且工作正常。

现在我需要在第二个表中插入值而不是插入第一个表中。

现在,如何增加 IDENTITY 种子,以便我可以将其插入到第二个表中,但在第一个表的 ID 中留下“洞”?

编辑:更多信息

这有效:

-- I need new seed number, but not table row 
-- so i will insert foo row, get id, and delete it
INSERT INTO TABLE1 (SomeRequiredField) VALUES ('foo');
SET @NewID = SCOPE_IDENTITY();
DELETE FROM TABLE1 WHERE ID=@NewID;

-- Then I can insert in TABLE2
INSERT INTO (ID, Field, Field) VALUES (@NewID, 'Value', 'Value');

再一次 - 这有效。

问题是我可以在不插入表的情况下获取ID吗?

DBCC需要所有者权限;是否有一个干净的用户可调用 SQL 来做到这一点?

最佳答案

这种情况会让你的整体数据结构非常难以理解。如果值之间不存在关系,则破坏该关系。

有多种方法可以解决此问题以完成您想要的操作,但通常是在分布式环境中,并且由于数据模型更改而未完成。

关于sql-server - 如何在 SQL Server 中增加(或保留)IDENTITY 值而不插入表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/480309/

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