Valeur par défaut d'un descriptif de colonne non exporté.
Bonjour,
Lors de mon expdp les valeurs des métadata d'une colonne ex : Nom de la colonne 'HORODATAGE' de valeur par défault SYSDATE n'est pas exporté dans le dump, la valeur par défaut de la colonne 'HORODATAGE' est mise à NULL !
La commande que je passe est du style :
Code:
expdp \' / as sysdba \' exclude=GRANT,STATISTICS schemas=${SCHEMASOURCE} logfile=${NOMEXPORT}.log COMPRESSION=ALL GRANTS=n directory=ASVDATAPUMP dumpfile=$NOMEXPORT ;
Qu'ai je oublié ?
Merci.
Smallone.
Valeur par défaut non exporté
Re,
J'ai fait un import limité à la production du fichier sql et quand je consulte ce fichier, lors de la création de ma table pour cette colonne 'HORODATAGE' j'ai ceci :
Code:
1 2 3 4
| CREATE TABLE "EXTRACT"."CRN"
("1er_champ"... ,
"HORODATAGE" DATE NOT NULL ENABLE,
"autres champs"...) |
Alors qu'à l'origine le champ HORODATAGE de ma table CRN est créé comme ceci :
Code:
1 2 3 4
| CREATE TABLE "EXTRACT"."CRN"
("1er_champ"... ,
"HORODATAGE" DATE NOT NULL DEFAULT SYSDATE ENABLE,
"autres champs"...) |
Je ne comprends pas pourquoi la structure des données n'est pas reprise dans l'export, le type est correct, le null, not null (nullable) est correct mais le data_default n'est pas repris !
J'espère est clair.
Smallone.
Pas de récupération des clauses DEFAULT avec un create tables as select...
Bonjour,
Après quelques autres recherches, CREATE TABLE AS SELECT (CTAS) ne permet pas de récupérer la clause DEFAULT des colonnes...
En complément du script de création de table avec (CTAS), il faut rajouter les clauses DEFAULT des colonnes, à la fin du script, avec des alter table ... MODIFY ...DEFAULT ... ;
On peut récupérer les différentes clauses DEFAULT des tables d'un schéma en faisant :
Connecté au plus haut de l'instance :
select owner, table_name, column_name, to_lob(data_default) data_default from all_tab_columns where owner='MON_NOM_DE_SCHEMA' and data_default is not null;
Il suffit de passer toutes ces lignes dans un : Alter table mon_schema.table_name modify (column_name DEFAULT data_default); en PL/SQL et le tour est joué !
Cordialement.
Smallone.