(在尝试回答另一个问题的过程中要弄清楚这个问题)
考虑下面的MS-SQL表,称为GroupTable:
组号 ------- 1个 2 3
其中,GroupID是主键,是Identity列。
如何在不使用IDENTITY_INSERT ON的情况下将新行插入表中(从而生成新ID)?
注意:
INSERT INTO GroupTable() Values ()
……行不通。
编辑:我们在这里谈论SQL 2005或SQL 2008。
Answers:
这应该工作:
INSERT INTO GroupTable DEFAULT VALUES
merge
运算符。EGmerge into TableName using (values (1), (2), (3)) s(n) on 1=0 when not matched then insert default values;
一次可以插入多行。
例如,要插入30行。插入组表默认值GO 30
每次增加标识列将插入30行。