sql - 从两个不同的表插入到两个不同的表中
问题描述
当我尝试这个时,我得到了错误
“ORA-06550:第 2 行,第 48 列:PL/SQL:ORA-00926:缺少 VALUES 关键字 ORA-06550:第 2 行,第 1 列:PL/SQL:忽略 SQL 语句”。
我需要将不同表中的一些值插入到两个不同的表中。
假设表 1 和表 2 类似,
table 1
x|y ---> column names
a b ---> values
table 2
z|k --->c.n
c d --->val.
如您所见,我需要将一些几乎没有更改的行复制到它自己的表中。但是我有两个不同的表,我应该同时这样做。
INSERT INTO table1.a,table1.b,table2.c,table2.d
SELECT x,y,z,k
FROM table1
FULL JOIN table2_ALT ON table1.x=table2.z
WHERE ....
或者
INSERT INTO table1.a,table1.b,table2.c,table2.d
SELECT table1.x,table1.y,table2.z,table2.k
FROM table1
FULL JOIN table2_ALT ON table1.x=table2.z
WHERE ....
解决方案
您可以尝试以下类似的操作:阅读更多关于INSERT ALL以插入多个表的信息。
INSERT ALL
INTO
table1(a,b) values(a, b)
INTO table2(c,d) values(c, d)
SELECT table1.x as a,table1.y as b,table2.z as c,table2.k as d
FROM table1
FULL JOIN table2_ALT ON table1.x=table2.z
WHERE ....
推荐阅读
- r - 如何在 col 上构建具有不同计数的汇总表
- python - 在 Django Rest Framework 中序列化多对多关系
- function - 如何将小数点后的 GPS 坐标转换为公里?我正在尝试编写一个执行此操作的函数
- time-series - 在 statsmodel.tsa.UnobservedComponents 中设置状态协方差矩阵
- java - 插入的条件 - Java
- java - 如何使用 Jackson 将不同 XML 元素的列表作为单个字段导入
- apache-superset - 与 Keycloak 集成作为身份验证提供程序的 SuperSet 应该使用什么提供程序?
- swift - 我怎么知道 Swift 中发生了什么样的错误
- angular - Angular 模块中的 window.location.origin 为空
- html - 是否可以使用 CSS 为悬停时的边框长度设置动画?