我有一個單一的列,它是一個自動生成的標識的表插入默認值的多個行插入表
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
Wher e意圖是在SomeOtherTable
的每行中插入一行到SingleIdTable
,其中Attribute
使用自動生成的ID爲空。上述不起作用,但我怎麼能做到這一點。我注意到,如果我的表不僅僅只有一列,我可以做到,但我不能選擇那些我真正想做的空行。我不能改變SomeOtherTable
的定義。
+1從來沒有想過MERGE – RichardTheKiwi
狡猾...表中有人誤用NHibernate映射一個組時的人工製品。我會接受這一點,但我現在意識到我可以將內部查詢與插入相關聯,以便可以輸出inserted.id,SomeOtherTable.id)。這可能嗎?真的,我只需要將我生成的每個id的包與'SomeOtherTable'的一個元素相匹配,其中'Attribute'爲null。有什麼想法嗎? – silasdavis
@silasdavis - 是的,只是使用'OUTPUT INSERTED.ID,T.id' –