FAQ SQL*PlusConsultez toutes les FAQ
Nombre d'auteurs : 8, nombre de questions : 32, dernière mise à jour : 26 juin 2009 Ajouter une question
Cette F.A.Q. a été réalisée à partir des connaissances de membres de Developpez.com en vue de répondre à des questions fréquemment posées par les utilisateurs.
Elle traite exclusivement des questions relatives à SQL*Plus.
Nous espérons que cette F.A.Q. saura répondre à un maximum de vos questions. Nous vous souhaitons une bonne lecture.
L'équipe de Developpez.com.
- Comment activer / désactiver le retour sur l'état d'une requête ?
- Comment désactiver / activer le nom des colonnes à l'affichage d'une requête ?
- Comment modifier le nombre de lignes par page au résultat d'un requête ?
- Comment modifier le nombre de caractères par ligne au résultat d'un requête ?
- Comment définir la taille d'une colonne de type VARCHAR2 à l'affichage d'un requête ?
- Comment afficher un titre en début de chaque page de mon résultat de requête ?
- Comment créer des rapports HTML ?
Quand vous exécutez une requête du type INSERT un message du type Une ligne ajoutée s'affiche, ou encore quand vous créé une procédure Procédure créée.
Pour désactivé ce retour, vous pouvez utiliser la commande suivante :
Code SQL : | Sélectionner tout |
SQL> set feedback off
Code SQL : | Sélectionner tout |
SQL> set feedback on
Exemple :
Code SQL : | Sélectionner tout |
SQL> set feedback 3
Code SQL : | Sélectionner tout |
1 2 3 4 5 6 7 8 | SQL> select last_name 2 from employees 3 where rownum < 3; LAST_NAME ------------------------- Abel Ande |
Code SQL : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 | SQL> select last_name 2 from employees 3 where rownum < 3; LAST_NAME ------------------------- Abel Ande 2 ligne(s) sélectionnée(s). |
Pour désactiver l'affichage du nom des colonnes, et n'avoir que les données d'une requête, il suffit de taper la commande suivante :
Code SQL : | Sélectionner tout |
SQL> set heading off
Code SQL : | Sélectionner tout |
SQL> set heading on
Code SQL : | Sélectionner tout |
1 2 3 4 5 6 7 | SQL> select last_name, first_name 2 from employees 3 where rownum < 4; Abel Ellen Ande Sundar Atkinson Mozhe |
Par défaut le nombre de lignes affichées par page est 11.
Exemple :
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | EMPLOYEE_ID FIRST_NAME LAST_NAME ----------- -------------------- ------------------------- 100 Steven King 101 Neena Kochhar 102 Lex De Haan 103 Alexander Hunold 104 Bruce Ernst 105 David Austin 106 Valli Pataballa 107 Diana Lorentz 108 Nancy Greenberg 109 Daniel Faviet 110 John Chen EMPLOYEE_ID FIRST_NAME LAST_NAME ----------- -------------------- ------------------------- 111 Ismael Sciarra 112 Jose Manuel Urman 113 Luis Popp 114 Den Raphaely |
Code SQL : | Sélectionner tout |
SQL> SET pagesize 100
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | EMPLOYEE_ID FIRST_NAME LAST_NAME ----------- -------------------- ------------------------- 100 Steven King 101 Neena Kochhar 102 Lex De Haan 103 Alexander Hunold 104 Bruce Ernst 105 David Austin 106 Valli Pataballa 107 Diana Lorentz 108 Nancy Greenberg 109 Daniel Faviet 110 John Chen 111 Ismael Sciarra 112 Jose Manuel Urman 113 Luis Popp 114 Den Raphaely |
Par défaut le nombre de caractères par lignes est de 72. Pour modifier ce nombre tapez la commande suivante :
Code sql : | Sélectionner tout |
SQL> SET linesize 200
Prenons pour exemple la requête suivante :
Code SQL : | Sélectionner tout |
1 2 3 | SQL> SELECT employee_id, first_name, last_name 2 FROM employees 3 WHERE rownum < 10; |
Code SQL : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 | EMPLOYEE_ID FIRST_NAME LAST_NAME ----------- -------------------- ------------------------- 100 Steven King 101 Neena Kochhar 102 Lex De Haan 103 Alexander Hunold 104 Bruce Ernst 105 David Austin 106 Valli Pataballa 107 Diana Lorentz 108 Nancy Greenberg |
Code SQL : | Sélectionner tout |
SQL> COLUMN first_name FORMAT A8;
Code SQL : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 | EMPLOYEE_ID FIRST_NA LAST_NAME ----------- -------- ------------------------- 100 Steven King 101 Neena Kochhar 102 Lex De Haan 103 Alexande Hunold r 104 Bruce Ernst 105 David Austin 106 Valli Pataballa 107 Diana Lorentz 108 Nancy Greenberg |
On voit que pour l'employé 103, son prénom se trouve maintenant sur 2 ligne car il contient plus de 8 caractères.
Cette fonction est très utile quand on a, par exemple, une colonne de type VARCHAR2(200) et que l'on sait que la longueur maximum que l'on peut trouver dans cette colonne est 50, on va donc spécifier A50 pour éviter d'afficher des espaces superflus à l'affichage de la requête.
On peut aussi spécifier de tronquer la colonne une fois le nombre de caractère afficher au lieu de retourner à la ligne avec le mot TRUNCATE.
Exemple :
Code SQL : | Sélectionner tout |
SQL> COLUMN first_name FORMAT A8 TRUNCATE;
Code SQL : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 | EMPLOYEE_ID FIRST_NA LAST_NAME ----------- -------- ------------------------- 100 Steven King 101 Neena Kochhar 102 Lex De Haan 103 Alexande Hunold 104 Bruce Ernst 105 David Austin 106 Valli Pataballa 107 Diana Lorentz 108 Nancy Greenberg |
Pour cela il faut utiliser la la fonction TTITLE :
Code SQL : | Sélectionner tout |
SQL> TTITLE 'Mon titre'
Code SQL : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Ven. Juin 05 page 1 Mon titre EMPLOYEE_ID FIRST_NAME LAST_NAME ----------- -------------------- ------------------------- 100 Steven King 101 Neena Kochhar 102 Lex De Haan 103 Alexander Hunold 104 Bruce Ernst 105 David Austin 106 Valli Pataballa 107 Diana Lorentz |
Pour arrêter l'affichage du titre utilisez la commande suivante :
Code SQL : | Sélectionner tout |
SQL> TTITLE OFF
Code SQL : | Sélectionner tout |
BTITLE 'Fin de page'
Code SQL : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 | EMPLOYEE_ID FIRST_NAME LAST_NAME ----------- -------------------- ------------------------- 100 Steven King 101 Neena Kochhar 102 Lex De Haan 103 Alexander Hunold 104 Bruce Ernst 105 David Austin 106 Valli Pataballa 107 Diana Lorentz 108 Nancy Greenberg Fin de page |
Il est possible avec SQL*Plus de générer des fichiers HTML pour afficher le résultat d'une requête.
Pour se faire, créez un fichier avec le code suivant et exécutez le avec la commande
Code SQL : | Sélectionner tout |
SQL> @generateReport.sql
Code SQL : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 | SET MARKUP HTML ON SPOOL ON PREFORMAT OFF ENTMAP ON HEAD "<TITLE>Rapport 1</TITLE> <style>th {background-color: #7FCF00;} td {background-color:#FFEE9F;}</style>" BODY "><div>Mon premier rapport</div" spool c:\rapport01.html TTITLE "- Liste des employés -" SELECT * FROM employees; / SET markup html off spool off spool off |
- SET MARKUP HTML : active les rapports HTML
- SPOOL ON : active la sortie vers un fichier
- PREFORMAT OFF : désactive le préformatage du résultat de la requête
- ENTMAP ON : remplace les caractères spéciaux tel que &, >, <... par leur code html
- HEAD : définit le code à l'intérieur des balises <head></head> ; le code qui suit, sera inséré entre ces balise. On peut alors inclure des fichiers styles, du javascript...
- BODY : définit les paramètres des balises body ; par exemple si j'avais mis
Code html : | Sélectionner tout |
BODY " bgcolor='red' "
- spool filename : créée le rapport dans le fichier qui suit
- TTITLE : définit le titre du rapport
- la requête
- set markup html off spool off spool off : on réinitialise toutes les variables SQL*Plus
Vous pourrez voir l'exemple de rapport créé en cliquant sur ce lien.
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes 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 © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et 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.