sql >> Databasteknik >  >> RDS >> PostgreSQL

Skicka en ResultSet till en Postgresql-funktion

Du kan använda en markör , men det är väldigt opraktiskt för att beräkna ett minimum.

Jag skulle använda en tillfällig tabell för det ändamålet och skicka tabellnamnet för användning i dynamisk SQL :

CREATE OR REPLACE FUNCTION f_min_id(_tbl regclass, OUT min_id int) AS 
$func$
BEGIN

EXECUTE 'SELECT min(id) FROM ' || _tbl
INTO min_id;

END  
$func$ LANGUAGE plpgsql;

Ring:

CREATE TEMP TABLE foo ON COMMIT DROP AS
SELECT id, name
FROM   users
LIMIT  50;

SELECT f_min_id('foo');

Huvudpunkter

-> SQLfiddle-demo



  1. MySQL-syntax och "ELLER"-prestanda

  2. Oracle SQL Transpose

  3. Hur man löser ett för stort undantag XAMPP Mysql

  4. mysql + php hämta löv barn med sökväg