sql-server – 将多行默认值插入到表中
发布时间:2020-05-23 14:09:41 所属栏目: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;
我不知道这个单列表有什么实际用途? (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
