考虑从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