Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: hi, what is wrong with my newbie sql?



Ronin <jkoorts(at)gmail(dot)com> schrieb:

> Hi, the following sql returns "10" and not "20" as would be expected.
> 
> Where is the error? This would for sure work in any programming
> language, why is this different?
> 
> CREATE FUNCTION test () RETURNS INTEGER AS '
> 
> 	DECLARE
> 		k integer;
> 
> 	BEGIN
> 		k = 10;
> 		FOR k IN 1..10 LOOP
> 			k = k +1;
> 		END LOOP;
> 
> 		return k;
> 	END;

I think, the inner k = k + 1; is not visible outer. The loop runs from
k=1 to k=10, and the returning k is the last loop-value k, 10.

You need a extra variable for the loop-counter.


Andreas
-- 
Really, I'm not out to destroy Microsoft. That will just be a completely
unintentional side effect.                              (Linus Torvalds)
"If I was god, I would recompile penguin with --enable-fly."    (unknow)
Kaufbach, Saxony, Germany, Europe.              N 51.05082°, E 13.56889°



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group