Това са само общи насоки, които трябва да поработите в детайлите, особено в синтаксиса.
Трябва да създадете процедура за съхраняване
Създайте цикъл за проверка на information_schema.tables
филтър за имената на таблиците, които искате
DECLARE
rec record;
strSQL text;
BEGIN
След това създайте strSQL с всяка таблица
FOR rec IN SELECT table_schema, table_name
FROM information_schema.tables
LOOP
strSQL := strSQL || 'SELECT ogc_fid, wkb_geometry FROM ' ||
rec.table_schema || '.' || rec.table_name || ' UNION ';
END LOOP;
-- have to remove the last ' UNION ' from strSQL
strSQL := 'SELECT row_number() over (ORDER BY a.ogc_fid) AS qid,
a.wkb_geometry AS geometry FROM (' || strSQL || ')';
EXECUTE strSQL;