Bonjour à tous,
Je cherche à générer dynamiquement un script SQL pour recréer les indexes d'une de mes tables.
J'ai le morceau de script suivant :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 -- Parametrage pour n'avoir que les requetes : set heading off; set timing off; set feedback off; set echo off; Set pages 999; set long 90000; SPOOL /opt/test.sql select dbms_metadata.get_ddl('INDEX', index_name)||';' from user_indexes where table_name = upper( 'MA_TABLE' ) order by index_name ; SPOOL off
Ca marche plutot bien. Sauf que...
A_NB_TOTO est coupé en deux entre deux lignes, et ça me fout la grouille ensuite...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 CREATE INDEX "USER"."ABC_INDEX_A_NB" ON "USER"."MA_TABLE" ("A_NB", "A_ NB_TOTO", "A_SYS_DATE") PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "DATA" ;
Toute solution, idée ou suggestion est la bienvenue!
Partager