Bonjour,

Je voudrais deplacer un ensemble de table d'un tablespace sur un autre, ceci sur une base de données 9i.

Les tables ont été créées sur le tablespace SYS, alors qu'elles devraient etre sur le tablespace TBS_TOTO.
Par contre, bien qu'existant sur le tablespace sys, toutes les tables appartiennent au schéma TOTO.
J'ai écrit la requête suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
DECLARE
TYPE r_curseur is REF CURSOR;
c_tables r_curseur; 
ligne_tableau c_tables%TYPE; 
BEGIN
    OPEN c_tables FOR select TABLE_NAME from SYS.ALL_TABLES where owner = 'TOTO'; 
    LOOP 
 
    FETCH c_tables INTO ligne_tableau;  
    EXIT WHEN c_tables%NOTFOUND;  
        ALTER TABLE ligne_tableau.TABLE_NAME MOVE TABLESPACE TBS_TOTO;  
    END LOOP; 
    CLOSE c_tables; 
END;
mais je recois l'erreur suivante à l'execution:
ORA-06550: Ligne 11, colonne 9 :
PLS-00103: Symbole "ALTER" rencontré à la place d'un des symboles suivants :

begin case declare end 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
Symbole "lock inséré avant "ALTER" pour continuer.
ORA-06550: Ligne 11, co