有没有办法保留或跳过或增加标识列的值?
我有两个表以一对一的关系连接。第一个有 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 来做到这一点?