我试图插入到多个表中,但在插入语句中应使用相同的子选择。当我使用With子句时,它不起作用
这是工作
INSERT INTO TABLE_A (COL_1, COL2)
SELECT COL_1, COL_2
FROM TABLE_A
JOIN ...
WHERE ...
此子选择也应该在其他插入语句中使用。
SELECT COL_1, COL_2
FROM TABLE_A
JOIN ...
WHERE ...
试着解决它所以却不起作用,对于第一个插入
WITH TEMP AS (
SELECT COL_1, COL_2
FROM TABLE_A
JOIN ...
WHERE ...);
INSERT INTO TABLE_A (COL_1, COL2)
SELECT COL_1, COL_2
FROM TEMP
我如何才能做到这一点,使整个插入语句都使用相同的子选择?
2条答案
按热度按时间wgeznvg71#
显然,您可以使用某个临时表来存储相同的结果集,但也可以使用相同的语句插入多个表。
| A_计数器|B_计数器|
| - -|- -|
| 四百三十二|四十一|
| A_计数器|
| - -|
| 四百三十二|
| B_计数器|
| - -|
| 四十一|
dbfiddle link
xggvc2p62#
应该看起来像这样: