sql >> Database teknologi >  >> RDS >> PostgreSQL

Dynamisk UNION ALL-forespørgsel i Postgres

Dette er blot generelle retningslinjer, du har brug for arbejde i detaljerne, specielt syntakser.

Du skal oprette en butiksprocedure

Opret en loop, der kontrollerer information_schema.tables filtrer efter de ønskede tabelnavne

DECLARE    
    rec record;
    strSQL text;
BEGIN
 

Opret derefter en strSQL med hver tabel

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;

  1. sqlite:hvordan tilføjes samlet tid tt:mm:ss hvor kolonnens datatype er DATETIME?

  2. Liste over Datetime Format Elements i Oracle

  3. #1115 - Ukendt tegnsæt:'utf8mb4'

  4. 3 måder at konvertere decimal til hexadecimal i SQL Server (T-SQL)