sql-server – 将多行默认值插入到表中
发布时间:2020-12-12 08:33:30 所属栏目:MsSql教程 来源:网络整理
导读:我有一个单列的表,这是一个自动生成的标识 create table SingleIdTable ( id int identity(1,1) not null) 我可以使用自动生成的id插入一行: insert into SingleIdTable default values 我想插入许多行,并使用输出语法来获取它们的id,类似于: insert into S
我有一个单列的表,这是一个自动生成的标识
create table SingleIdTable ( id int identity(1,1) not null ) 我可以使用自动生成的id插入一行: insert into SingleIdTable default values 我想插入许多行,并使用输出语法来获取它们的id,类似于: insert into SingleIdTable output inserted.Id into @TableOfIds select (default values) from SomeOtherTable where Attribute is null 其中意图是在SomeOtherTable中的每一行的SingleIdTable中插入一行,其中Attribute为null,使用自动生成的id.以上是不行的,但我该怎么办呢.我注意到,如果我的桌子不仅仅是一列,我可以做到,但是我不能选择空行,这是我真正想要做的. 我不能更改SomeOtherTable的定义. 解决方法如果SQL Server 2008可以使用MERGE为此.下面的示例语法.MERGE INTO SingleIdTable USING (SELECT * FROM SomeOtherTable WHERE Attribute IS NULL) T ON 1 = 0 WHEN NOT MATCHED THEN INSERT DEFAULT VALUES OUTPUT INSERTED.id; 我不知道这个单列表有什么实际用途? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容