PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak wstawić do tabeli wartości z dwóch tablic w Postgresie?

Twój rzut jest nieprawidłowy, nie możesz rozpakować text .

Wypróbuj

INSERT INTO mytable (x, y)
  SELECT
    unnest('{x1, x2, x3}' :: TEXT []),
    unnest('{y1, y2, y3}' :: TEXT []);

Zauważ, że ta forma wyboru zachowuje się dziwnie, jeśli obie tablice nie mają tej samej długości.

Funkcja unnest w postgresie 9.4+ pozwala na rozszerzenie wielu tablic przy użyciu jednej tablicy na kolumnę wyjściową:

INSERT INTO mytable
  SELECT *
  FROM unnest('{x1, x2, x3}' :: TEXT [], '{y1, y2, y3, y4}' :: TEXT [])


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak używać funkcji PostgreSQL upper() z innymi ustawieniami regionalnymi?

  2. Postgresql przypisze zapytanie wybierające do zmiennej w funkcji

  3. Jak mogę uzyskać funkcję okna Redshift/Postgresql LAG, aby selektywnie wykluczać rekordy?

  4. Jak renderować relacje jeden do wielu w XML za pomocą PostgreSQL

  5. Całkowicie odinstalować PostgreSQL 9.0.4 z Mac OSX Lion?