Bonjour,
J'ai créé un script en PL/SQL pour extraire d'une base les instructions nécessaires à la création des différentes tables d'un utilisateur à l'aide du package DBMS_METADATA. Jusque là pas de soucis.
Mais j'ai voulu également récupérer les commentaires des différentes colonnes, et je n'ai pas trouvé l'instruction nécessaire en utilisant le package DBMS_METADATA.
J'ai fais autrement, en parcourant la table USER_COL_COMMENTS ou tout simplement en utilisant les fonctionnalités d'export de TOAD, mais par curiosité j'aimerais bien savoir si l'un d'entre vous sait comment récupérer les commentaires de colonne à partir de ce package.
Je mets ci-dessous mon code simplifié pour vous aider à mieux visualiser ma demande. Comme précisé dans le titre, je travaille sous Oracle9i :
Merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 DECLARE L_HFIC UTL_FILE.FILE_TYPE; TEXTE CLOB; TABLE_NAME VARCHAR2(30); L_BUFFER PLS_INTEGER := 32767; -- Curseur de parcours des tables du shéma CURSOR C_SOURCE IS SELECT TABLE_NAME FROM USER_TABLES ORDER BY TABLE_NAME; BEGIN OPEN C_SOURCE; LOOP FETCH C_SOURCE INTO TABLE_NAME; IF C_SOURCE%NOTFOUND THEN UTL_FILE.FCLOSE_ALL; EXIT; END IF; -- Récupération de la description de la table SELECT DBMS_METADATA.GET_DDL('TABLE', TABLE_NAME) INTO TEXTE FROM DUAL; L_HFIC := UTL_FILE.FOPEN('TABLES', TABLE_NAME || '.SQL', 'W', L_BUFFER); UTL_FILE.PUT_LINE(L_HFIC, TEXTE); UTL_FILE.FFLUSH(L_HFIC); UTL_FILE.FCLOSE(L_HFIC); END LOOP; CLOSE C_SOURCE; END P_TABLES; / SHOW ERRORS; /
Partager