IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo
Sommaire > Outils > SQL*Plus
        Comment sauvegarder mon affichage SQL dans un fichier ?
        Comment insérer du texte contenant '&' ?
        Comment éviter de voir les lignes de remplacement d'une variable ?



Comment sauvegarder mon affichage SQL dans un fichier ?
auteur : Helyos
Il peut parfois être utile de sauvegarder le résultat de la requête dans un fichier texte sur le disque dur. Pour cela SQL*Plus nous offre la possibilité d'utiliser la commande SPOOL qui fonctionne comme dans l'exemple suivant :

-- On demande à rediriger l'affichage vers le fichier c:\toto.txt 
SPOOL c:\toto.txt 
-- On execute notre requete 
SELECT SYSDATE FROM DUAL; 
-- On stoppe la redirection 
SPOOL OFF
Voici le contenu de notre fichier :

SQL> SELECT sysdate
  2  FROM dual;

SYSDATE                                                                         
--------                                                                        
28/06/04                                                                        

SQL> SPOOL OFF
On pourra facilement supprimer les premières et dernières lignes grâce aux commandes de formatages de SQL*Plus.

On peut préciser que jusqu'à la version 9i incluse, le fichier est écrasé s'il existe déjà. En 10g, les options CREATE/REPLACE/APPEND apportent un choix en la matière.


Comment insérer du texte contenant '&' ?
auteur : Fred_D
& est un caractère spécial qui permet de préfixer un nom de variable. Or, lorsque l'on veut insérer du texte contenant ce caractère, SQL*Plus demande une valeur à insérer.

Par exemple :

SQL> select 'toi & moi' from dual;
Entrez une valeur pour moi : 
ancien   1 : select 'toi & moi' from dual
nouveau   1 : select 'toi ' from dual

'TOI
----
toi
Pour éviter ce désagrément il suffit de taper :

SET DEFINE OFF
Ainsi on obtient :

SQL > set define off
SQL > select 'toi & moi' from dual;

'TOI&MOI'
---------
toi & moi

Comment éviter de voir les lignes de remplacement d'une variable ?
auteur : Fred_D
Lorsque l'on utilise des variables SQL*Plus de la forme &nom_variable et que l'on exécute la requête, Oracle rappelle quelle valeur est remplacée de la manière suivante :

SQL > select '&texte_a_afficher' from dual;
Entrez une valeur pour texte_a_afficher : Bonjour Developpez.com
ancien 1 : select '&texte_a_afficher' from dual
nouveau 1 : select 'Bonjour Developpez.com' from dual

'BONJOURDEVELOPPEZ.COM
----------------------
Bonjour Developpez.com
Pour éviter ces lignes disgracieuses dans un log, il faut désactiver la vérification avec la commande suivante :

SET VERIFY OFF
Ainsi on obtient le résultat suivant :

SQL > set verify off
SQL > select '&texte_a_afficher' from dual;
Entrez une valeur pour texte_a_afficher : Bonjour Developpez.com

'BONJOURDEVELOPPEZ.COM
----------------------
Bonjour Developpez.com


Consultez les autres F.A.Q's


Valid XHTML 1.0 TransitionalValid CSS!

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2007 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.