PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Запазване на резултата от динамична заявка, която използва refcursor, в таблица

Това се решава по-лесно от предишния ви въпрос, защото тук нямаме проблеми с динамичните връщани типове. Просто трябва да свържете правилно низа на заявката, преди да го предадете на EXECUTE .

За нова маса :

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

Където myresult(...) връща текста за валиден SELECT изявление.

За да добавите към съществуваща таблица :

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

Ако знаете типът резултат на заявката съответства на таблицата, можете да пропуснете списъка с целеви колони.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Производителността не се увеличава, дори се увеличава размерът на work_mem

  2. Как да напиша DataFrame в таблицата на postgres?

  3. Поточно предаване на данни от Postgres в Python

  4. Бавен оператор OR в postgresql

  5. Изпълнение на системна команда с аргумент във функция на PostgreSQL