Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1244 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  selectionner la donnee d'une colonne d'un tuple dynamiquement

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

selectionner la donnee d'une colonne d'un tuple dynamiquement

n°819378
piloupy
Posté le 10-08-2004 à 17:45:25  profilanswer
 

Bonjour,
 
Je programme avec PL/SQL et j'aimerais recuperer toutes les donnees d'une table SQL et les ecrire dans un fichier texte. Les donnees qui sont des varchar doivent etre entre apostrophes : 'je suis un varchar' . Les donnees numeriques n'ont pas d'apostrophe.
 
Ce fichier texte sert ulterieurement a reinserer les donnees dans une table SQL (me demandez pas pourquoi ou a quoi sert tout ca, je ne fais qu'executer des ordres). C'est pour ca que les donnees varchar doivent etre entre apostrophes pour l'INSERT INTO et pas les donnees numeriques.
 
Le code qui suit est du code PL/SQL melange avec du C.
 

Code :
  1. DECLARE
  2.   file UTL_FILE.FILE_TYPE;
  3.   CURSOR pointeur IS
  4.     SELECT *
  5.     FROM matable;
  6.   row_swap pointeur%ROWTYPE;
  7.   str_swap STRING;
  8. BEGIN
  9.   file := UTL_FILE.FOPEN('/tmp', 'myfile', 'w');
  10.   OPEN pointeur;
  11.   LOOP
  12.     FETCH pointeur INTO row_swap;
  13.     EXIT WHEN pointeur%NOTFOUND;
  14.     str_swap := "";
  15.     for (i=0 ; i<length(row_swap) ; i++) {
  16.       if (isNumber(row_swap[i])) {
  17.         str_swap := str_swap || row_swap[i];
  18.       } else {
  19.         str_swap := str_swap || '''' || row_swap[i] || '''';
  20.       }
  21.     }
  22.     UTL_FILE.PUT_LINE(file, str_swap);
  23.   END LOOP;
  24.   CLOSE pointeur;
  25.   UTL_FILE.FCLOSE(file);
  26. EXCEPTION
  27.   WHEN utl_file.invalid_path THEN
  28.      raise_application_error(-20000, 'ERROR: Invalid path for file or path not in INIT.ORA.');
  29. END;


 
A peu de chose pres (mise en page des donnees dans le fichier texte), c'est ce que je souhaiterais faire.
 
Ma question : Comment faire pour selectionner la donnee d'une colonne d'un tuple dynamiquement (ce que j'ai grossierement appele row_swap[ i ], avec 'i' designant la colonne) ? Et comment faire une comparaison de type (isNumber() par exemple) ?
 
S'il y a un moyen d'exporter toute une table SQL en fichier texte directement, je suis aussi preneur :)
 
piloupy
 
PS : je sais qu'on peut faire row_swap.nomColonne1 pour recuperer la valeur de la colonne d'un tuple, mais je ne peux pas l'utiliser de facon dynamique, a moins de faire du code auto-genere, mais bonjour la galere :)


Message édité par piloupy le 10-08-2004 à 17:51:11
mood
Publicité
Posté le 10-08-2004 à 17:45:25  profilanswer
 

n°819499
gizmo
Posté le 10-08-2004 à 19:10:08  profilanswer
 

[:mlc] on ne vous a jamais appris ce qu'était un dump? [:wam]


Message édité par gizmo le 10-08-2004 à 19:10:24
n°819976
piloupy
Posté le 11-08-2004 à 09:44:28  profilanswer
 

euh ... non desole, je ne sais pas ce que c'est qu'un dump ...
 
je sais que la longueur du post peut en repousser plus d'un, mais si je disais : comment on fait pour parcourir des colonnes d'un tuple ? j'aurais des reponses qui ne me conviendraient surement pas ...
 
je suis desole de vous poser des questions qui peuvent vous paraitre evident, vous qui etes dans les bases de donnees depuis longtemps, mais on m'a demande d'assister quelqu'un sur un domaine que je ne maitrise pas ... ^^; et je n'ai pas le temps d'apprendre PL/SQL en entier et tout ce qui concerne les bases de donnees, j'ai aussi mon propre boulot ...
 
c'est pourquoi je vous demande de l'aide ...
 
piloupy


Message édité par piloupy le 11-08-2004 à 09:46:00
n°820016
gizmo
Posté le 11-08-2004 à 10:30:46  profilanswer
 

Pas besoin d'apprendre le PL/SQL. Le dump c'est justement ce qui sert à exporter/importer des tables/DB d'un SGDB à un autre.
 
Renseigne-toi sur les outils qui sont à ta disposition pour faire cela le plus simplement.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  selectionner la donnee d'une colonne d'un tuple dynamiquement

 

Sujets relatifs
Grep? besoin de la colonne d'une seq recherchee: RESOLUTransformer une requete SQL à 1 seule colonne en un tableau.
Commentaire d'une colonneaffichage d'un formulaire MENU à l'ouverture de la base de donnée
Modification de donnee dans ma baseType de donnée LONG dans SELECT Oracle
Base de donnée originale / sample[C#]Changer la connection a la base de donnée du crystal report
Réalier une Base de donnée [Artiste original / Artiste Sample ]pb msg erreur (base de donnée)
Plus de sujets relatifs à : selectionner la donnee d'une colonne d'un tuple dynamiquement


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR