Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 04/02/2013 12:22:56
- pubjgp
- Membre
Utilisation d'une variable dans ALTER SEQUENCE
Bonjour,
Voici le problème en simplifié. ALTER SEQUENCE sequenceObject xxxx avec sequenceObject étant une variable. Mais ALTER SEQUENCE semble refuser le variables. Une solution ?
Voici le message d'erreur
ERROR: syntax error at or near "$1"
LINE 1: ALTER SEQUENCE $1 MINVALUE 1 MAXVALUE 1000 START 1 INCREME...
^
QUERY: ALTER SEQUENCE $1 MINVALUE 1 MAXVALUE 1000 START 1 INCREMENT 1
CONTEXT: SQL statement in PL/PgSQL function "somefuncname" near line 9
Code simplifié :
CREATE OR REPLACE FUNCTION somefuncname() RETURNS varchar AS $$
declare sequenceObject varchar ;
BEGIN
sequenceObject := 'matable_seq' ;
ALTER SEQUENCE sequenceObject
MINVALUE 1
MAXVALUE 1000
START 1
INCREMENT 1;
RETURN sequenceObject;
END ;
$$ LANGUAGE 'plpgsql' VOLATILE;
SELECT somefuncname();
Cordialement,
Hors ligne
#2 04/02/2013 13:15:32
- rjuju
- Administrateur
Re : Utilisation d'une variable dans ALTER SEQUENCE
Bonjour,
vous devez passer par un EXECUTE, par exemple :
EXECUTE format('ALTER SEQUENCE %I
MINVALUE 1
MAXVALUE 1000
START 1
INCREMENT 1;', sequenceObject);
Julien.
https://rjuju.github.io/
Hors ligne
#3 04/02/2013 13:20:16
- pubjgp
- Membre
Re : Utilisation d'une variable dans ALTER SEQUENCE
Impec.
Merci.
Hors ligne
Pages : 1