RE: sequences in functions

From: "Graham Vickrage" <graham(at)digitalplanit(dot)com>
To: <pgsql-sql(at)postgresql(dot)org>
Subject: RE: sequences in functions
Date: 2000-08-18 17:28:34
Message-ID: NDBBJABDILOPAOOMFJHOCEPPCDAA.graham@digitalplanit.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

I have noticed that you can only pass 16 parameters to a function, I was
therefore wondering how you can do atomic inserts (such as the function
below but with more params) using pl/pgsql if you can't pass complex data
types. Is this something that transactions are not used for or is it best
done as two seperate calls in my perl scripts?

-----Original Message-----
From: pgsql-sql-owner(at)hub(dot)org [mailto:pgsql-sql-owner(at)hub(dot)org]On Behalf
Of Yury Don
Sent: 18 August 2000 15:07
To: pgsql-sql(at)postgresql(dot)org
Subject: Re: [SQL] sequences in functions

Hello Graham,

Friday, August 18, 2000, 6:24:15 PM, you wrote:

GV> I am having problems referencing sequeces in a function, I think because
of
GV> the '' characters. The function I am creating is a follows: -

GV> CREATE FUNCTION InsertClient ( varchar, varchar, varchar, varchar,
varchar,
GV> varchar ) RETURNS int4 AS '
GV> DECLARE
GV> id INT;
GV> BEGIN
GV> SELECT nextval('client_seq') INTO id;

GV> INSERT INTO client (client_id, last_name, address1, country)
GV> VALUES (id, $1, $2, $3);

GV> INSERT INTO client_card (client_card_id, type, number,
expiry_date,
GV> client_id)
GV> VALUES (nextval('client_card_seq'), $4, $5, $6, id);

GV> RETURN id;
GV> END;
GV> ' LANGUAGE 'plpgsql';

GV> And the error message is

GV> ERROR: parser: parse error at or near "client_seq"
GV> EOF

GV> Is this because of the ' ' ???

You must to use two quotes:

SELECT nextval(''client_seq'') INTO id;

--
Best regards,
Yury mailto:yura(at)vpcit(dot)ru

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Adam Lang 2000-08-18 18:24:35 Creating sequences
Previous Message Stephan Szabo 2000-08-18 15:21:45 Re: update rule loops