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

Przekazywanie wielu wartości w jednym parametrze

Twoja funkcja nie zostałaby utworzona. RETURN po end to syntaktyczny nonsens.

Tak czy inaczej, funkcja z VARIADIC parametr dokładnie o co prosisz:

CREATE OR REPLACE FUNCTION test_function(VARIADIC varchar[])
 RETURNS SETOF integer AS
$func$
SELECT column2
FROM   test_table
WHERE  column1 = ANY($1);
$func$  LANGUAGE sql;

Zadzwoń (według potrzeb):

SELECT * FROM test_function('data1', 'data2', 'data3');

Używając prostej funkcji SQL, plpgsql nie jest wymagany dla prostego przykładu. Ale VARIADIC działa również dla funkcji plpgsql.

Używanie RETURNS SETOF integer ponieważ może to oczywiście zwrócić wiele wierszy.

Szczegóły:

  • Przekaż wiele wartości w jednym parametrze
  • Zwróć wiersze pasujące do elementów tablicy wejściowej w funkcji plpgsql
  • Parametr VARIADIC musi być ostatnim parametrem wejściowym
  • Zwróć wiersze pasujące do elementów tablicy wejściowej w funkcji plpgsql

Skrzypce SQL demo z dodatkowymi parametrami.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zrozumienie i czytanie katalogu systemu PostgreSQL

  2. Zmień grupę zabezpieczeń w wystąpieniu bazy danych AWS RDS

  3. Konwertuj wszystkie rekordy w postgresie na wielkie litery i pierwsze litery

  4. Znajdź różnicę między znacznikami czasu w sekundach w PostgreSQL

  5. Jak zainstalować Postgis w instalacji beczki [email Protected] za pomocą Homebrew?