Valider des données partitionnées externes

Pour valider une table partitionnée externe, vous pouvez utiliser la procédure DBMS_CLOUD.VALIDATE_EXTERNAL_PART_TABLE. Cette procédure comprend un paramètre qui vous permet de spécifier une partition spécifique à valider.

Avant de valider une table partitionnée externe, vous devez créer la table partitionnée externe. Pour créer une table partitionnée externe, utilisez la procédure DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE (voir Interroger les données partitionnées externes (avec clause de partitionnement) pour plus de détails) :

BEGIN
  DBMS_CLOUD.VALIDATE_EXTERNAL_PART_TABLE (
    table_name => 'PET1',
    partition_name => 'P1');
END;
/

Cette procédure balaye vos fichiers sources pour la partition P1 et les valide à l'aide des options de format indiquées lors de la création de la table partitionnée externe.

La validation par défaut d'une table partitionnée valide toutes les partitions de manière séquentielle jusqu'à ce que rowcount soit atteint. Si vous spécifiez une partition partition_name, seule une partition spécifique est validée.

Par défaut, l'opération de validation balaye toutes les lignes des fichiers sources et s'arrête lorsqu'une ligne est rejetée. Pour valider uniquement un sous-ensemble de rangées, utilisez le paramètre rowcount. Lorsque le paramètre rowcount est défini, l'opération de validation balaye les rangées et s'arrête, soit lorsqu'une rangée est rejetée, soit lorsque le nombre rowcount de rangées spécifié est validé sans erreur.

Par exemple, l'opération de validation suivante analyse 100 rangées et s'arrête lorsqu'une rangée est rejetée ou lorsque 100 rangées sont validées sans erreur :

BEGIN 
  DBMS_CLOUD.VALIDATE_EXTERNAL_PART_TABLE (
     table_name => 'PET1',
     rowcount => 100 ); 
END; 
/

Si vous ne voulez pas que la validation s'arrête lorsqu'une rangée est rejetée et que vous voulez voir toutes les rangées rejetées, réglez le paramètre stop_on_error à FALSE. Dans ce cas, DBMS_CLOUD.VALIDATE_EXTERNAL_PART_TABLE balaye toutes les rangées et signale toutes les rangées rejetées.

Pour valider uniquement un sous-ensemble de rangées, utilisez le paramètre rowcount. Lorsque rowcount est défini et que stop_on_error est réglé à FALSE, l'opération de validation balaye les rangées et s'arrête, soit lorsque le nombre spécifié de rangées est rejeté, soit lorsque le nombre spécifié de rangées est validé sans erreur. Par exemple, l'exemple suivant balaye 100 rangées et s'arrête lorsque 100 rangées sont rejetées ou lorsque 100 rangées sont validées sans erreur :

BEGIN
  DBMS_CLOUD.VALIDATE_EXTERNAL_PART_TABLE (
     table_name => 'PET1',
     rowcount => 100 
     stop_on_error => FALSE );
END; 
/

Voir Procédure VALIDATE_EXTERNAL_PART_TABLE pour plus d'informations sur DBMS_CLOUD.VALIDATE_EXTERNAL_PART_TABLE.

Reportez-vous à Voir les journaux pour la validation de données pour consulter les résultats des opérations de validation dans les tables dba_load_operations et user_load_operations.