Skip site navigation (1) Skip section navigation (2)

Re: alter sequence in a function

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 (view raw, whole thread or download thread mbox)
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 


In response to

pgsql-admin by date

Next:From: ngaleyevDate: 2007-07-04 06:38:23
Subject: Re: hot restart of posgtresql
Previous:From: Tom LaneDate: 2007-07-04 02:51:45
Subject: Re: hot restart of posgtresql

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group