RE: PLpgSQL
От | Jeff Eckermann |
---|---|
Тема | RE: PLpgSQL |
Дата | |
Msg-id | 08CD1781F85AD4118E0800A0C9B8580B094B54@NEZU обсуждение исходный текст |
Ответ на | PLpgSQL (Dado Feigenblatt <dado@wildbrain.com>) |
Список | pgsql-sql |
You will need to use "EXECUTE" to create the sequence. The docs on pl/pgsql cover it: basically, "EXECUTE string" will cause that string to be executed as a SQL statement. > -----Original Message----- > From: Dado Feigenblatt [SMTP:dado@wildbrain.com] > Sent: Friday, July 20, 2001 2:26 PM > To: Pgsql-Sql > Subject: PLpgSQL > > 3 questions: > > 1. Can I use CREATE SEQUENCE inside a function? > 2. I can create this function but I can't get it to run: > > CREATE FUNCTION new_proj_pts_seq(int4) > RETURNS text > AS 'DECLARE > proj_ID alias for $1; > seq_name TEXT; > BEGIN > seq_name := ''proj_pts_'' || proj_ID; > create sequence seq_name; > END; > RETURNS seq_name;' > LANGUAGE 'plpgsql'; > > When I do > SELECT new_proj_pts_seq(9000); > I get: > ERROR: parser: parse error at or near "$1" > > The same happens if I assign $1 to proj_ID (instead of aliasing), or > just use $1 in the string concatenation. > I always get the same message. > > Considering that all the above is possible/fixable... > > 3. On the statement 'create sequence seq_name;', will 'seq_name' be > evaluated properly? > > Thanks. > > > -- > Dado Feigenblatt Wild Brain, Inc. > Technical Director (415) 553-8000 x??? > dado@wildbrain.com San Francisco, CA. > > > > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Don't 'kill -9' the postmaster
В списке pgsql-sql по дате отправления: