Re: Starting with pl/pgsql..

From: Josh Jore <josh(at)greentechnologist(dot)org>
To: Terry Yapt <yapt(at)technovell(dot)com>
Cc: pgsql-novice(at)postgresql(dot)org
Subject: Re: Starting with pl/pgsql..
Date: 2002-07-06 12:54:22
Message-ID: Pine.BSO.4.44.0207060748590.13956-100000@kitten.greentechnologist.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

Ok so I don't know a thing about Oracle. If you didn't already notice them
there are multiple docs on techdocs.postgresql.org on porting from oracle.

Now your function:

> Table "pepe"
> Column | Type | Modifiers
> --------+-----------------------+-----------
> a | numeric(2,0) | not null
> b | character varying(50) |

> -- Function: x(int4, int4)
> CREATE FUNCTION "x"("int4", "int4") RETURNS "int4" AS ' DECLARE

You may want to avoid the use to double-quoting your identifiers. Without
the quotes PostgreSQL will fold the case to the default lower case and
you're restricted to single word identifiers. With quotes you can go and
create identifiers like "BiCap" or even "multiple words". I'll just define
that as a problem waiting to happen. I wouldn't go there unless you had
some real reason to force case sensitivity.

> inicio alias for $1;
> final alias for $2;
> --
> texto varchar;
> BEGIN
> FOR X IN inicio..final LOOP
> texto := "ESTE ES: " || X;

Again double quotes. Substitute single quotes instead. Use double quotes
for identifiers and single quotes for identifiers. You are already in a
single-quoted section so quote the single quote ala:

texto := ''ESTE ES: '' || X;

> INSERT INTO pepe VALUES (X, texto);
> END LOOP;
> END;
> ' LANGUAGE 'plpgsql';

Josh

In response to

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Terry Yapt 2002-07-06 13:43:42 Re: Starting with pl/pgsql..
Previous Message Andrew McMillan 2002-07-06 11:35:27 Re: Carraige Return issue