Voici un petit moyen de tester rapidement une table en recette.
Un des tests « génériques » pour voir si une colonne est bien chargée est de voir :
– si toutes les valeurs de la colonne ne sont pas nulles
– si on a des valeurs différentes dans la colonne
Pour cela, on peut écrire 2, voire une seule requête.
Par contre, si on a plusieurs colonnes, il faut soir écrire plusieurs requêtes, soit une seule requête très complexe.
Un autre moyen est d’utiliser les stats d’Oracle, qui vont effectuer ces calculs pour nous !
Tout d’abord, il faut calculer les stats ( attention, je dis bien calculer, et non estimer ) :
analyze table &TABLE.&OWNER compute statistics;
Ensuite il suffit de requêter la table des stats :
column_name,
num_distinct "nb val distinctes",
num_nulls "nb val nulles",
sample_size "nb lignes"
FROM all_tab_columns
WHERE table_name='&TABLE' and owner='&OWNER'
ORDER by column_id;
Filtrer sur num_nulls>0 ou num_distinct=1 par exemple.
Attention, il ne faut pas oublier après de recetter aussi les données fonctionnellement !!!