Vous n'êtes pas identifié(e).
Pages : 1
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
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
Impec.
Merci.
Hors ligne
Pages : 1