Oracle
 sql >> Base de données >  >> RDS >> Oracle

Exemple de table externe Oracle

Une utilisation courante d'une table externe est la sélection de données à partir d'un fichier OS CSV (plat) via SQL *Plus. Lorsque vous utilisez une table externe dans ce mode, vous devez spécifier le type de données dans le fichier et la façon dont les données sont organisées. Vous pouvez sélectionner un tableau externe, mais vous n'êtes pas autorisé à modifier le contenu (pas d'insertions, de mises à jour ou de suppressions).

La fonctionnalité de table externe d'Oracle vous permet d'effectuer deux opérations distinctes :

  • Sélectionnez en toute transparence des informations dans les fichiers CSV (valeurs séparées par des virgules) du système d'exploitation via SQL, ce qui vous permet d'effectuer des tâches telles que le chargement de ces fichiers dans la base de données.
  • Créez des fichiers de vidage indépendants de la plate-forme pouvant être utilisés pour transférer des données. Vous pouvez également créer ces fichiers compressés et les chiffrer pour un transport de données efficace et sécurisé

Dans cet exemple, le fichier plat est nommé ex.csv et se trouve dans le répertoire D:Extbl. Il contient les données suivantes :5|2|0|0|12/04/2012|Half6|1|0|1|09/06/2013|Quarter7|4|0|1|08/10/2013|Full8| 1|1|0|15/06/2013|TrimestrePremièrement, créez un objet de répertoire qui pointe vers l'emplacement du fichier plat sur le disque : SQL> créez le répertoire exa_dir en tant que 'D:Extbl' ; puis créez un script qui crée la table externe qui référencera le fichier plat :créer une table exadata_et(exa_id NUMBER,machine_count NUMBER,hide_flag NUMBER,oracle NUMBER,ship_date DATE,rack_type VARCHAR2(32))organization external (type oracle_loaderdefault directory exa_diraccess parameters(records delimited by newlinefields terminated by '|' les valeurs de champ manquantes sont null(exa_id,machine_count,hide_flag,oracle,ship_date char date_format date mask "mm/dd/yyyy",rack_type))location ('ex.csv'))reject limit unlimited;Une table externe nommée EXADATA_ET est créée lorsque vous exécutez ce script. Maintenant, utilisez SQL*Plus pour afficher le contenu du fichier plat :SQL> select * from exadata_et;EXA_ID MACHINE_COUNT HIDE_FLAG ORACLE SHIP_DATE RACK_TYPE---------- ------------ - ---------- ---------- ---------- ------------------- -5 2 0 0 04-DEC-11 Demi6 1 0 1 06-SEP-12 Trimestre7 4 0 1 10-AUG-12 Complet8 1 1 0 15-JUN-12 Trimestre