【发布时间】:2012-10-23 04:03:26
【问题描述】:
我在一个表中有一行数据:
Key | Val1 | Val2
----+------+-----
1 | A | B
我想复制这一行,但为每个新行分配一个列表中的不同键(实际上是外键):
New keys
--------
2
3
4
可以通过查询轻松获得此列表。复制后的表格应该是这样的:
Key | Val1 | Val2
----+------+-----
1 | A | B
2 | A | B
3 | A | B
4 | A | B
到目前为止,我想出的是这样的:
INSERT INTO table (Key, Val1, Val2) (
SELECT '2' AS Key, Val1, Val2 FROM table WHERE Key='1'
);
这可行,但当然它一次只复制一行。有没有办法一次复制所有行?
如果它有所作为,我会使用 Oracle。
【问题讨论】:
-
你能告诉我们另一个表(外键表)吗?
-
@astander:将“新键”表视为外键表(它实际上只是在 Excel 电子表格中发送给我的值列表。)
标签: sql insert-select