问题描述
我在 Postgres 9.6 中的用例是需要将许多宽(很多列)表中的所有行复制到“相同”的不同表中。不同的表具有相同的类型、索引等相同的列,但列的位置不同,导致以下两种尝试都失败。有没有办法按名称而不是位置匹配列,而不用在语句中写出所有列?
INSERT INTO table_b select * FROM table_a
失败 ERROR: column "request_base" is of type boolean but expression is of type text
INSERT INTO table_b
select (data::table_b).*
FROM (select * from table_a) as data;
失败 ERROR: cannot cast type record to table_b. DETAIL: Cannot cast type uuid to boolean in column 27.
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)