Re: [Postgresql-it] Finestra di valori
- From: Matteo Beccati <php@xxxxxxxxxxx>
- To: postgresql-it@xxxxxxxxxxxxxxxxx
- Date: Fri, 11 Feb 2005 11:59:59 +0100
Ciao,
Ok ma non conoscendo i valori 3 e 5?
Nel senso che ho una tabella con dei codici alfanumerici ordinati e
conosco il codice che voglio cercare ma non quelli prima o quelli dopo (
chiaramente la query ritorna un set ordinato per codice), io vorrei
semplicemente dare un offset all'indietro
CREATE OR REPLACE FUNCTION finestra (int4) RETURNS setof tabella AS '
DECLARE
v1 int4;
v2 intt4;
r record;
BEGIN
SELECT INTO v1 campo FROM tabella WHERE id < $1 ORDER BY campo DESC
LIMIT 1;
IF NOT FOUND THEN
v1 := $1;
END IF;
SELECT INTO v2 campo FROM tabella WHERE id > $1 ORDER BY campo LIMIT 1;
IF NOT FOUND THEN
v2 := $1;
END IF;
FOR r IN SELECT * FROM tabella WHERE campo BETWEEN v1 AND v2 LOOP
RETURN NEXT r;
END IF;
RETURN;
END;
' LANGUAGE 'plpgsql';
SELECT finestra(4);
O qualcosa di simile :)
Ciao ciao
--
Matteo Beccati
http://phpadsnew.com
http://phppgads.com
Other related posts: