[SGBD/SQL] probleme d'espace oracle8i

probleme d'espace oracle8i [SGBD/SQL] - SQL/NoSQL - Programmation

Marsh Posté le 06-01-2009 à 16:01:43    

Bonjour,  
 
je rencontre un problème alors que j essaye de créer une commande pour sortir dynamiquement le renommage d un paquet de table sql:
 

Code :
  1. set heading off
  2. set feedback off
  3. set pages 0
  4. set linesize 2000
  5. set trimspool on
  6. set trimout on
  7. spool E:\Scripts\RenameAppli\work\RenHFMApp-hfmdev-TURNDEV-EdifisDev.txt
  8. select 'RENAME TABLE ' , trim(table_name), ' TO ', TRIM(REPLACE(table_name, 'APPLIDEV', 'APPLI')), ';' from user_tables where table_name like 'APPLIDEV!_%' escape '!'  or table_name like 'HSV!_APPLIDEV!_%'  escape '!';
  9. spool off
  10. exit;


 
sauf qu'il me sort un paquet d espace après chaque colonne et que du coup sql n arrive pas a se relire (les trim,trimspool ... ne semblent pas fonctionner)
 
exemple:
 

Code :
  1. RENAME TABLE  APPLIDEV_VALUE_DESC            TO APPLI_VALUE_DESC                                                                                                                                                                                                 ;
  2. RENAME TABLE  APPLIDEV_VALUE_HEADER          TO  APPLI_VALUE_HEADER                                                                                                                                                                                               ;
  3. ...


 
quelqu un aurait il une solution pour avoir quelque chose ressemblant a:
 

Code :
  1. RENAME TABLE  APPLIDEV_VALUE_DESC TO APPLI_VALUE_DESC;
  2. RENAME TABLE  APPLIDEV_VALUE_HEADER TO APPLI_VALUE_HEADER;
  3. ...


 
Merci
 

Reply

Marsh Posté le 06-01-2009 à 16:01:43   

Reply

Marsh Posté le 06-01-2009 à 17:19:39    

Essayer de remplacer les virgules par des doubles pipes qui sont des opérateurs de concaténation, et si ça ne suffit pas, rajouter la taille limite de la colonne à 80 caractères :

Code :
  1. set heading off
  2. set feedback off
  3. set pages 0
  4. set linesize 2000
  5. set trimspool on
  6. set trimout on
  7. COL cmd FOR A80
  8. spool E:\Scripts\RenameAppli\work\RenHFMApp-hfmdev-TURNDEV-EdifisDev.txt
  9. select 'RENAME TABLE '||trim(table_name)||' TO '||TRIM(REPLACE(table_name, 'APPLIDEV', 'APPLI'))||';' cmd
  10. from user_tables
  11. where table_name like 'APPLIDEV!_%' escape '!'  or table_name like 'HSV!_APPLIDEV!_%'  escape '!';
  12. spool off
  13. exit;

Reply

Marsh Posté le 07-01-2009 à 12:23:35    

bonjour et merci a toi!
 
effectivement les pipes suffisaient!
 
grand merci!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed