[Oracle 9i] Problème de suppression d'une séquence dans un bloc PL/SQL
Bonjour à tous,
J'ai un soucis avec la suppression d'une séquence au sein d'un bloc PL/SQL sur une base Oracle 9i.
Mon bloc PL/SQL doit ré-initialiser la valeur courante d'une séquence suite à un import dans une table de données.
Pour cela, je récupère l'id max dans la table, je drop la séquence pour la re-créer après. Or, à l'exécution du bloc PL/SQL dans sqlplus, l'erreur suivante m'est retournée:
Code:
1 2 3 4 5 6 7
| PLS-00103: Symbole "DROP" rencontré à la place d'un des symboles suivants :
begin case declare end exception exit for goto if loop mod
null pragma raise return select update while with
<an identifier> <a double-quoted delimited-identifier>
<a bind variable> << close current delete fetch lock insert
open rollback savepoint set sql execute commit forall merge
<a single-quoted SQL string> pipe |
Voici mon bloc PL/SQL:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| DECLARE
maxId NUMERIC;
BEGIN
-- Réinitialisation de la séquence MA_SEQUENCE
SELECT MAX(ID) INTO maxId
FROM MA_TABLE;
maxId := maxId + 1;
DBMS_OUTPUT.PUT_LINE('Max id = ' || maxId);
DROP SEQUENCE MA_SEQUENCE;
CREATE MA_SEQUENCE SEQUENCE_REQ_COLONNE
START WITH maxId
MAXVALUE 999999999999999999999999999
MINVALUE 0
NOCYCLE
CACHE 20
NOORDER;
END;
/
COMMIT; |
Je n'arrive pas à voir ce qui cloche... Toute suggestion est la bienvenue ! :)