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

Gemmer output fra en dynamisk forespørgsel, der bruger refcursor, i en tabel

Dette løses nemmere end dit tidligere spørgsmål, for vi kommer ikke i problemer med dynamiske returtyper her. Du skal blot sammenkæde forespørgselsstrengen korrekt, før du sender den til EXECUTE .

Til et nyt bord :

DO
$$
BEGIN
EXECUTE 'CREATE TABLE mydaughtertable AS ' || myresult('dkj_p_k27ac','enri');
END
$$;
 

Hvor myresult(...) returnerer teksten for en gyldig SELECT erklæring.

For at tilføje til en eksisterende tabel :

... EXECUTE 'INSERT INTO TABLE mydaughtertable(<colum list>) ' || myresult('dkj_p_k27ac','enri'); ...

Hvis du ved det resultattypen af ​​forespørgslen matcher tabellen, kan du udelade listen over målkolonner.




  1. PRIMÆR NØGLE-definition i MySQL CREATE TABLE-sætning

  2. Et vedvarende midlertidigt bord?

  3. SQLite virker, men PostgreSQL migreret database forårsager FEJL - Django 3.0

  4. Codeigniter aktive poster forespørgsel, der tager for lang tid at indlæse data fra databasen