我繼承了一個具有288個表的特定模式的數據庫。這些表格全部與正好相同的列名稱。我想在合併1在一個postgresql中合併多個表
我第一次嘗試所有這些288個表格是CREATE TABLE AS
:
CREATE TABLE bigTable AS SELECT X.* FROM (SELECT tablename FROM pg_tables WHERE tablename LIKE '%xxx') AS X
但是,這顯然是行不通的。
於是,我試着用PLPGSQL腳本:
DO $$
DECLARE
r RECORD;
BEGIN
FOR r in (SELECT tablename FROM pg_tables WHERE tablename LIKE '%iti') LOOP
INSERT INTO xxx(gid, shape_len, geom)
SELECT * FROM r;
END LOOP;
END;
$$;
但它告訴我,它不知道什麼r
是。
我想我錯過了一些關於pg如何處理這種事情的東西。