如何在sql数据库中将表的值插入到具有不同架构(较少列和不同类型)的其他表中?

How to insert the values of a table in an other table with different schema (less columns and different types) in a sql database?

提问人:Herwini 提问时间:10/30/2023 更新时间:10/30/2023 访问量:27

问:

在sql数据库中,我有多个表(>50)。25 个表具有正确的架构(列和类型),但为空(称为表 A)。25 个表具有相似的列(通常更多列),但类型错误,但非空(称为表 B)。现在,我想将每个表 B 插入到其对应的表 A 中,表 A 是具有所需架构(正确数量的列和正确的类型)的表。表 B 包含需要包含在表 A 中的值。

表 A 和表 B 中匹配的列具有相同的名称。

现在如何将 25 A 表的值插入到相应的 25 B 表中?

每当我手动指定要插入表 A 的表 B 的列(使用正确的类型转换)时,它就会起作用。然而,要对所有 25 张表执行此操作需要做很多工作。这些表有时有 200 多列。

那么有没有办法做这个动态的,例如在表B上强制表A的模式类型呢?

任何事情都会有所帮助。

SQL 数据库 类型 插入 架构

评论

1赞 Stu 10/30/2023
您必须编写正确的 sql 语句来指定所需的插入列和源表中的相应列,如果无法进行隐式转换,则使用特定的强制转换,或者编写一些 sql 来通过查询特定 rdbms 产品中的information_schema视图或等效视图来动态构造它,或者研究可以自动执行的第三方 ETL 工具。
0赞 jarlh 10/30/2023
为您正在使用的 dbms 添加一个标记,以获得适当的关注。

答: 暂无答案