From: | "Vishal Arora" <aroravishal22(at)hotmail(dot)com> |
---|---|
To: | jcleyva(at)hotmail(dot)com |
Cc: | pgsql-admin(at)postgresql(dot)org |
Subject: | Re: alter sequence in a function |
Date: | 2007-07-04 03:49:19 |
Message-ID: | BAY123-F189DA9346FD00FA71B8FE2A9030@phx.gbl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
>From: Julio Leyva <jcleyva(at)hotmail(dot)com>
>To: <pgsql-admin(at)postgresql(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | ngaleyev | 2007-07-04 06:38:23 | Re: hot restart of posgtresql |
Previous Message | Tom Lane | 2007-07-04 02:51:45 | Re: hot restart of posgtresql |