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

Jak przekazać niestandardową tablicę typów do funkcji Postgres

Możesz użyć alternatywnej składni z literalem tablicy zamiast konstruktora tablicy, który jest konstrukcją podobną do funkcji Postgresa i może powodować problemy, gdy trzeba przekazać wartości - jak w przygotowanym oświadczeniu:

SELECT myschema.myfunc('0d6311cc-0d74-4a32-8cf9-87835651e1ee'
                  , '{"(0d6311cc-0d74-4a32-8cf9-87835651e1ee, 25)"
                    , "(6449fb3b-844e-440e-8973-31eb6bbefc81, 10)"}'::mytype[]);

Dodałem podział wiersza między dwoma typami wierszy w tablicy do wyświetlania. To legalne.

Jak znaleźć poprawną składnię dla dowolnego dosłowny?

Zapytaj Postgresa. Oto demo:

CREATE TABLE mytype (id uuid, amount numeric(13,4));

INSERT INTO mytype VALUES
  ('0d6311cc-0d74-4a32-8cf9-87835651e1ee', 25)
 ,('6449fb3b-844e-440e-8973-31eb6bbefc81', 10);

SELECT ARRAY(SELECT m FROM mytype m);

Zwroty:

{"(0d6311cc-0d74-4a32-8cf9-87835651e1ee,25.0000)","(6449fb3b-844e-440e-8973-31eb6bbefc81,10.0000)"}

db<>graj tutaj

Każda tabela (w tym tabele tymczasowe) domyślnie tworzy typ wiersza o tej samej nazwie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL zyskuje na popularności:wyniki z Postgres 2018 i trendy 2019

  2. Dodanie kolumny jako klucza obcego powoduje, że kolumna ERROR, do której odwołuje się ograniczenie klucza obcego, nie istnieje

  3. Wyjaśnij bardziej szczegółowo sugestię dotyczącą wydajności warunku JOIN vs. LEFT JOIN i WHERE

  4. PostgreSQL, stan SQL:42601

  5. Dział ( / ) nie daje mojej odpowiedzi w postgresql