Received: from web20806.mail.yahoo.com (web20806.mail.yahoo.com [216.136.226.195]) by postgresql.org (Postfix) with SMTP id 2A859475A86 for ; Thu, 28 Mar 2002 10:35:21 -0500 (EST) Message-ID: <20020328153525.78708.qmail@web20806.mail.yahoo.com> Received: from [68.14.98.218] by web20806.mail.yahoo.com via HTTP; Thu, 28 Mar 2002 07:35:25 PST Date: Thu, 28 Mar 2002 07:35:25 -0800 (PST) From: Jeff Eckermann Subject: Re: function error To: Travis Hoyt , pgsql-sql@postgresql.org In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Archive-Number: 200203/379 X-Sequence-Number: 7253 If this is genuinely a copy of something in the "PostgreSQL Developer's Handbook", then that book could use some work. 1. You need "ALIAS FOR" in the DECLARE section 2. You need an explicit RETURN; i.e. write "RETURN result;" before "END;" 3. Language is plpgsql, not sql (which doesn't allow the constructions you are using). If columns "systemid" and "time" are not of text type, you will need to do some type casting for your comparisons to work. I believe "time" is a reserved word anyway, so if that is the real name of the column, you will need to double-quote it, which in the function definition will need to be escaped: '"time"', or \"time\". --- Travis Hoyt wrote: > CREATE FUNCTION biwklyavg(text, text, text) RETURNS > numeric AS ' > DECLARE > system ALIAS $1; > startdate ALIAS $2; > enddate ALIAS $3; > result numeric; > > BEGIN > result := (select (avg(usr) + > avg(sys)) from sardata where > systemid = system > and time between startdate > and enddate; > END; > ' LANGUAGE 'sql'; > > Hello, > > The fuction listed above gives the following error: > > ERROR: parser: parse error at or near "alias" > > I'm running v7.2. Any ideas? I pulled this > directly from the examples in > the PostgreSQL Developer's Handbook. > > Thanks, > > Travis > > ATTACHMENT part 2 application/x-pkcs7-signature name=smime.p7s __________________________________________________ Do You Yahoo!? Yahoo! Movies - coverage of the 74th Academy Awards® http://movies.yahoo.com/