RE: sequences in functions - Mailing list pgsql-sql

From Graham Vickrage
Subject RE: sequences in functions
Date
Msg-id NDBBJABDILOPAOOMFJHOCEPPCDAA.graham@digitalplanit.com
Whole thread Raw
In response to Re: sequences in functions  (Yury Don <yura@vpcit.ru>)
List 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@hub.org [mailto:pgsql-sql-owner@hub.org]On Behalf
Of Yury Don
Sent: 18 August 2000 15:07
To: pgsql-sql@postgresql.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@vpcit.ru




pgsql-sql by date:

Previous
From: Thomas Lockhart
Date:
Subject: Re: [HACKERS] [Fwd: Optimization in C]
Next
From: "Adam Lang"
Date:
Subject: Creating sequences