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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
   |  
set serveroutput on
set verify off
set feedback off
 
DECLARE
	p_dph NUMBER;
	erreur NUMBER;
BEGIN
--Paramétrage du datapump   
   p_dph := DBMS_DATAPUMP.open(	operation=>'EXPORT',
								job_mode=>'TABLE',
								job_name=>'dbms_data_pump_exp_resultat');
	erreur := 1;
--Paramétrage du fichier log
   DBMS_DATAPUMP.add_file(	handle=>p_dph,
							filename=>'exp_resultat.log',
							directory=> 'dir_pump_resultat',
							filetype=>DBMS_DATAPUMP.ku$_file_type_log_file); 
 
	erreur := 2;
--Paramétrage du fichier dump
   DBMS_DATAPUMP.add_file(	handle=>p_dph,
							filename=>'exp_resultat.dmp',
							directory=> 'dir_pump_resultat',
							filetype=>dbms_datapump.ku$_file_type_dump_file); 
	erreur := 3;
  DBMS_DATAPUMP.metadata_filter(handle=>p_dph,
                                name=> 'SCHEMA_LIST',
                                VALUE=> '''TP_WEB''');
	erreur := 4;
-- Creation d'un filtre de metadonnes pour indiquer quelles tables seront exportees. 
  DBMS_DATAPUMP.METADATA_FILTER(handle=>p_dph,
                                name=>'NAME_LIST',
                                value=>'''RESULTAT_WEB'',''CARACTERISE_RESULTAT_WEB''');
	erreur := 5;
-- Filtre sur les donnees de la table DEPT et EMP a exporter.
  DBMS_DATAPUMP.DATA_FILTER(handle=>p_dph,
                            name=>'SUBQUERY',
                            value=>'WHERE ESS_ID=''15M85.1'' AND ADHE_ID != ''ADMIN_WEB'' AND ADHE_ID IN (SELECT ADHE_ID FROM TP_WEB.TRACABILITE_SAISIE WHERE ESS_ID=''15M85.1'')',
                            table_name=>'TP_WEB.RESULTAT_WEB');
	erreur := 6;
  DBMS_DATAPUMP.DATA_FILTER(handle=>p_dph,
                            name=>'SUBQUERY',
                            value=>'WHERE RESU_SEQ IN (SELECT RESU_SEQ FROM TP_WEB.RESULTAT_WEB WHERE ESS_ID=''15M85.1'' AND ADHE_ID != ''ADMIN_WEB'' AND ADHE_ID IN (SELECT ADHE_ID FROM TP_WEB.TRACABILITE_SAISIE WHERE ESS_ID=''15M85.1''))',
                            table_name=>'TP_WEB.CARACTERISE_RESULTAT_WEB');
 
 --Exécution du job								
erreur := 7;  
   DBMS_DATAPUMP.start_job(p_dph);
 erreur := 8; 
   DBMS_DATAPUMP.detach(p_dph);
 
 
EXCEPTION 
    WHEN OTHERS THEN dbms_output.put_line('erreur:'||erreur||'	'||sqlerrm||'  Job-ID:'||p_dph);
 
END;
/ | 
Partager