考慮從Microsoft's INSERT documentation下表和SQL與IDENTITY列涉及:在SQL Server中使用標識列指定「NEXT價值」爲INSERT語句
CREATE TABLE dbo.T1 (column_1 int IDENTITY, column_2 VARCHAR(30));
GO
INSERT T1 (column_2) VALUES ('Row #2');
的INSERT
語句未指定column_1
作爲的一列表和SQL Server自動填充該標識列的下一個值。這是處理標識列的正常方式。
我怎樣纔能有同樣的行爲,同時指定列名?
例如,我在尋找的東西像:
INSERT INTO T1 (column_1, column_2)
VALUES (NEXT VALUE, 'Row #3');
GO
我不相信NEXT VALUE
在這裏工作,但有一些不工作?是否有一個關鍵的標記或函數會指示應使用標識列?
注意:我問的原因是我使用的框架需要在列列表中指定所有列。
我不知道你能做到這一點。這個框架是一個流行的東西嗎?你確定它有這個限制嗎? – DavidG
該框架不是開源的,不能以這種方式解決。 –
你的框架可能有選擇使用存儲過程插入,我相信它將是更容易的方式去走那條路。 – vittore