2015-04-28 100 views
1

我有一个SELECT语句选择现场设备的一个子集。我需要将新记录插入另一个表中,其中一个用于该子集的每个成员。你可以迭代SELECT子句的结果来创建多个INSERT INTO语句,全部在SQL中?或者我需要为这个任务创建一个应用程序?SQL:从结果集中创建多个INSERT语句

因此,如果此查询:

select name from my_pets 

的 '皮特', '杰克' 和“最大的回报纪录,我可以继续在SQL:

insert into zoo-table values('pete',x,y,z) 
insert into zoo-table values('jack',a,b,c) 
insert into zoo-table values('max',d,e,f) 

好像应该有一个方法,但我远离SQL主控。

感谢...

+1

哪里'x','y','z'等从何而来? – Mureinik

+0

属性为从另一个表(从另一个数据库中)选择的每个“宠物”... – user3235770

回答

2

INSERT INTO选择

INSERT INTO zoo-table 
    (name, field2, field3, field4) 
SELECT name, x, y, z 
FROM my_pets; 

http://www.w3schools.com/sql/sql_insert_into_select.asp

+0

但是,多个INSERT语句的语法是什么? –

+0

@TimBiegeleisen:将插入与'select'一样多的行返回 –

+0

另一种方法是使用游标循环查看结果。然后,您可以根据需要对来自select的每行数据运行尽可能多的插入语句。 (游标可能很昂贵/很慢,但是。) – obvious

相关问题