Re: alter sequence in a function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 






From: Julio Leyva <jcleyva@xxxxxxxxxxx>
To: <pgsql-admin@xxxxxxxxxxxxxx>
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



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux