Bonjour tout le monde,
Je souhaite mettre à jour mes séquences après avoir importer des données.
Pour cela, je procède comme ceci :
Ne connaissant pas trop le PL/SQL, j'ai du faire des erreurs de syntaxe car à l'exécution j'ai cette erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Declare varmax integer; req1 varchar(256); req2 varchar(256); begin SELECT max(id_produit) INTO varmax FROM t1_produit; varmax:= varmax-2; req1:='alter sequence T1_PRODUIT_ID_PRODUIT_SEQ increment by ' || varmax || ';'; req2:='alter sequence T1_PRODUIT_ID_PRODUIT_SEQ increment by 1;'; execute immediate req1; execute immediate req2; end; /
C'est certainement les || de cette ligne qui pose un problème:Rapport d'erreur :
ORA-00911: caractère non valide
ORA-06512: à ligne 10
00911. 00000 - "invalid character"
*Cause: identifiers may not start with any ASCII character other than
letters and numbers. $#_ are also allowed after the first
character. Identifiers enclosed by doublequotes may contain
any character other than a doublequote. Alternative quotes
(q'#...#') cannot use spaces, tabs, or carriage returns as
delimiters. For all other contexts, consult the SQL Language
Reference Manual.
Est-ce que quelqu'un peut m'éclaircir ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part req1:='alter sequence T1_PRODUIT_ID_PRODUIT_SEQ increment by ' || varmax || ';';
Partager