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

Předávání více hodnot v jednom parametru

Vaše funkce by nebyla vytvořena. RETURN po end je syntaktický nesmysl.

V obou případech jde o funkci s VARIADIC parametr dělá přesně o co žádáte:

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;

Zavolejte (podle potřeby):

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

Při použití jednoduché funkce SQL není pro jednoduchý příklad plpgsql vyžadován. Ale VARIADIC funguje také pro funkce plpgsql.

Pomocí RETURNS SETOF integer protože to samozřejmě může vrátit více řádků.

Podrobnosti:

  • Předejte více hodnot do jednoho parametru
  • Vrátí řádky odpovídající prvkům vstupního pole ve funkci plpgsql
  • Parametr VARIADIC musí být posledním vstupním parametrem
  • Vrátí řádky odpovídající prvkům vstupního pole ve funkci plpgsql

SQL Fiddle demo s dalšími parametry.




  1. Upozornění:mysqli_query():Nelze načíst mysqli

  2. Příklady LAST_DAY() – MySQL

  3. Získejte číslo týdne z data v PostgreSQL

  4. Jak mohu zkrátit datum a čas na serveru SQL Server?