Re: alter sequence in a function

Поиск
Список
Период
Сортировка
От Vishal Arora
Тема Re: alter sequence in a function
Дата
Msg-id BAY123-F189DA9346FD00FA71B8FE2A9030@phx.gbl
обсуждение исходный текст
Ответ на alter sequence in a function  (Julio Leyva <jcleyva@hotmail.com>)
Список pgsql-admin


>From: Julio Leyva <jcleyva@hotmail.com>
>To: <pgsql-admin@postgresql.org>
>Subject: [ADMIN] alter sequence in a function
>Date: Tue, 3 Jul 2007 22:48:30 +0000
>
>
>Hi allI'm trying to create a function that alters a sequenceThis what I'm
>doingcreate or replace function updatesafe()  returns integer AS
>$$DECLAREmaxseq integer;alterseq varchar(256);thumb integer;newvalue
>integer;BEGINnewvalue := 10010;  maxseq := (select max(safeoperationid)
>from safeopencloseoperation);    if (maxseq < 500) then      return 3000;
>else    execute 'ALTER sequence safeopencloseoperation_id_seq restart with
>' || 'newvalue ' ;

Remove the single quotes (' ') from newvalue in the execute, it is taking
newvalue as a string instead of treating it as a variable.

return 10000; END IF;END;$$ language plpgsqlIt compiles ok but when I call
the functionit gives me this error ALTER sequence
safeopencloseoperation_id_seq restart with newvalueCONTEXT:  PL/pgSQL
function "updatesafe" line 17 at execute statementLINE 1: ...equence
safeopencloseoperation_id_seq restart with newvalueHowever when I change the
alter sequence for thisALTER sequence safeopencloseoperation_id_seq restart
with 10000 ;The function is ok,It means that we can't use such a utility
inside a function? I mean replacing a value for a variable?Thanks for any
suggestion

_________________________________________________________________
http://newlivehotmail.com


В списке pgsql-admin по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: hot restart of posgtresql
Следующее
От: ngaleyev@wavelengthmail.com
Дата:
Сообщение: Re: hot restart of posgtresql