PL/pgSQL Syntax Problem

From: Hubert Palme <hubert(dot)palme(at)web(dot)de>
To: pgsql-general(at)postgresql(dot)org(dot)pgsql-interfaces(at)postgresql(dot)org(dot)pgsql-sql(at)postgresql(dot)org
Subject: PL/pgSQL Syntax Problem
Date: 2002-03-04 20:34:25
Message-ID: a60loh$6o5$1@jupiter.hub.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-interfaces pgsql-sql

Hi,

this function:

CREATE FUNCTION t_nummern(integer) -- Parameter: lfd_nr
RETURNS text AS '
DECLARE
lfd_nr ALIAS FOR $1;
erg text;
daten record;
BEGIN
erg := '''';
FOR daten IN
SELECT * INTO daten FROM telefon WHERE t_lfd_nr = lfd_nr
LOOP
IF erg <> '''' THEN
erg := erg || '', '';
END IF;
IF daten.t_einrichtg <> '''' THEN
erg := erg || daten.t_einrichtg || '': '';
END IF;
erg := erg || ''('' || daten.vorwahl || '') '' || daten.telefon_nr;
END LOOP;
RETURN erg;
END;'
LANGUAGE 'plpgsql';

causes the following error:

mitglieder=> select t_nummern(330);
ERROR: query "SELECT * INTO daten FROM telefon WHERE t_lfd_nr = $1 "
isn't a
SELECT
mitglieder=>

Why isn't this a SELECT??

Thanks in advance,

--
Hubert Palme Am Walde 1
42119 Wuppertal
<hubert(dot)palme(at)web(dot)de>

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Fran Fabrizio 2002-03-04 20:39:51 Re: storing intermediate results in recursive plpgsql functions
Previous Message Jeff Eckermann 2002-03-04 20:27:32 Re: SQL question - duplicate records from join

Browse pgsql-interfaces by date

  From Date Subject
Next Message jtv 2002-03-04 21:16:01 Re: help understanding libpq++
Previous Message Bruce Momjian 2002-03-04 19:46:39 Re: libpq++ and Postgres

Browse pgsql-sql by date

  From Date Subject
Next Message Tom Lane 2002-03-04 20:38:22 Re: Uniqueness of rule, constraint, and trigger names
Previous Message Dan Langille 2002-03-04 20:04:45 Re: Uniqueness of rule, constraint, and trigger names