sql >> Databáze >  >> RDS >> PostgreSQL

Uložení výstupu dynamického dotazu, který používá rekursor, do tabulky

To je vyřešeno snadněji než vaše předchozí otázka, protože zde nemáme problémy s dynamickými typy návratů. Stačí správně zřetězit řetězec dotazu, než jej předáte do EXECUTE .

Pro novou tabulku :

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

Kde myresult(...) vrátí text pro platný SELECT prohlášení.

Pro přidání do existující tabulky :

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

Pokud víte typ výsledku dotazu odpovídá tabulce, můžete vynechat seznam cílových sloupců.




  1. Zadejte zdrojovou IP pro připojení ADO z Delphi do MySQL

  2. Úložiště souborů pro webové aplikace:Filesystem vs DB vs NoSQL motory

  3. dotaz mysql vrací false, i když hodnoty v tabulce existují? Snažíte se najít, pokud ne v tabulce?

  4. SQL DROP COLUMN pro začátečníky