Выполнять вставку для каждой строки, взятой из select?

У меня есть ряд записей, которые мне нужно вставить в несколько таблиц. Каждый второй столбец будет константой.

Плохой псевдокод ниже -это то, что я хочу сделать:

create table #temp_buildings
(
    building_id varchar(20)
)
insert into #temp_buildings (building_id) VALUES ('11070')
insert into #temp_buildings (building_id) VALUES ('11071')
insert into #temp_buildings (building_id) VALUES ('20570')
insert into #temp_buildings (building_id) VALUES ('21570')
insert into #temp_buildings (building_id) VALUES ('22570')

insert into property.portfolio_property_xref
        ( portfolio_id,
          building_id,
          created_date,
          last_modified_date
        )
values
        ( 
            34,
            (
                select  building_id
                from    #temp_buildings
            ),
            getdate(),
            null
        )

Намерение:Выполните вставку в property.portfolio _property _xref для каждой записи о #temp _зданиях

Я думаю, что мог бы сделать это с помощью курсора -, но считаю, что это было бы ужасно медленно. Поскольку это упражнение будет повторяться в будущем, я бы предпочел решить его более быстрым методом, но я не уверен, как это сделать. Любая обратная связь будет оценена!

64
задан Michael A 1 August 2012 в 00:38
поделиться