Introduction à SQL sous ORACLE

Gestion du buffer SQL

Sous SQLPLUS, on entre des commandes SQL ou SQLPLUS. La dernière commande SQL entrée au clavier est enregistrée dans une zone appelée buffer SQL. Tant qu’elle est présente dans ce buffer, la commande peut être modifiée, sauvegardée, relancée, etc… Les commandes de gestion du buffer SQL sont des commandes SQLPLUS et obéissent donc à la syntaxe déjà présentée. Noter que les commandes SQLPLUS émises ne sont pas mémorisées.

Edition du buffer
Les commandes d’édition du buffer s’appliquent à une seule des lignes constituant la commande SQL qui y est contenue. Celle-ci est signalée par une étoile et est appelée ligne courante.
Exemple : SQL> select * <– commande SQL sur 3 lignes 2 from biblio <– elle est automatiquement enregistrée dans le buffer 3 where prix>100; SQL> list <– commande SQLPLUS visualisant le buffer SQL 1 select * 2 from biblio 3* where prix>100<– la ligne 3 est ligne courante SQL> list 2 <– on demande à voir la ligne n°2 du buffer 2* from biblio <– elle est devenue ligne courante
Sauvegarde et récupération du buffer
syntaxe save fichier action sauvegarde le buffer SQL dans fichier.
syntaxe get fichier action le buffer SQL est chargé avec le contenu de fichier
Exemples
SQL> l <– contenu du buffer 1 select * 2 from biblio 3* where prix>100
SQL> save cmd1<– le buffer est sauvegardé dans cmd1 Created file cmd1 SQL> host ll<– vérification total 2
-rw-rw-r– 1 serge enseign 38 Oct 11 15:35
afiedt.buf -rw-rw-r– 1 serge enseign 38 Oct 11 15:49 cmd1.sql <– le fichier a en fait le suffixe .sql SQL> host cat cmd1.sql <– contenu du fichier ? select * from biblio where prix>100 /
SQL> clear buffer <– on vide le buffer SQL buffer cleared SQL> l <– contenu du buffer ?
No lines in SQL buffer.<– rien SQL> get cmd1 <– on charge le buffer avec cmd1
1 select * <– résultat 2 from biblio 3* where prix>100
SQL> l <– vérification 1 select * 2 from biblio 3* where prix>100

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *