0% ont trouvé ce document utile (0 vote)
183 vues20 pages

Faq Sqlplus

Transféré par

z_lachgar
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
183 vues20 pages

Faq Sqlplus

Transféré par

z_lachgar
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

FAQ SQL*Plus

Date de publication : 11 juin 2009 Dernire mise jour : 4 dcembre 2009

Cette F.A.Q. a t ralise partir des connaissances de membres de [Link] en vue de rpondre des questions frquemment poses par les utilisateurs. Elle traite exclusivement des questions relatives SQL*Plus. Nous esprons que cette F.A.Q. saura rpondre un maximum de vos questions. Nous vous souhaitons une bonne lecture. L'quipe de [Link].

Ont contribu cette FAQ :

jsd03 - orafrance - umarus - Vincent Rogier Pomalaix - Goldoz - Antoun - Emmanuel Lecoester

FAQ SQL*Plus

1. Environnement de travail (15) ................................................................................................................................4 2. Excution de requtes (10) ..................................................................................................................................11 3. Les rapports SQL (7) ........................................................................................................................................... 15

-3Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2009 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

[Link]

FAQ SQL*Plus

Sommaire > Environnement de travail Quelles sont les variables d'environnement ncessaires pour lancer SQL*Plus ?
Auteur : jsd03 Les variables suivantes sont ncessaires : ORACLE_HOME : chemin vers l'installation Oracle PATH : chemin vers les binaires d'Oracle ORACLE_SID : nom de l'instance qui sera utilise par SQL*Plus (cette variable n'est pas obligatoire car on peut spcifier se paramtre dans la chaine de connexion)

D'o par exemple le rsultat suivant (pour un serveur Unix) : $ORACLE_HOME : /oracle01/11gR1 $PATH : $PATH:/oracle01/11gR1/bin $ORACLE_SID : orcl (cette variable n'est pas obligatoire car on peut spcifier se paramtre dans la chaine de connexion)

Pour dfinir ces variables simplement, lancez une invite de commande et tapez les commandes suivantes Pour un serveur Unix :
export ORACLE_HOME=/oracle01/11gR1 export ORACLE_SID=orcl export PATH=$PATH:/oracle01/11gR1/bin

Pour un serveur Windows :


set %ORACLE_HOME%=c:\oracle01\11gR1 set %ORACLE_SID%=orcl set %PATH%=%PATH%;C:\oracle01\11gR1\bin

L'initialisation de la variable $PATH sous Unix ou %path% sous Windows vous permettra d'accder directement SQL*Plus sans aller dans le dossier des binaires d'Oracle

Comment se connecter SQL*Plus ?


Auteur : jsd03 Allez dans le dossier $ORACLE_HOME/bin ou vrifiez que ce rpertoire fait partie de votre PATH (dans ce cas vous pourrez utiliser directement la commande sqlplus). Ici se trouve l'excutable sqlplus. Vous pouvez lancer directement sqlplus, on vous demandera un login et mot de passe pour vous connecter votre base. Par contre cette mthode ne vous permettra pas de vous connecter une autre base que celle par dfaut ou avec un compte de type SYSDBA ou SYSOPER. C'est pour cela qu'il convient de spcifier des paramtres de connexion. Voici la syntaxe pour ce connecter SQL*Plus :
sqlplus (utilisateur[/mot_de_passe][@identifiant_BDD] | /) [AS SYSDBA | AS SYSOPER] | /NOLOG

-4Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2009 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

[Link]

FAQ SQL*Plus

Exemple pour se connecter avec l'utilisateur scott :


sqlplus scott/tiger

Exemple pour se connecter avec un compte SYSDBA


sqlplus sys/change_on_install AS SYSDBA

Pour se connecter avec le compte SYS :


sqlplus /

Vous pouvez galement taper la commande suivante et spcifier les paramtres de connexion directement dans le prompte SQL>
sqlplus /nolog

Ensuite pour se connecter un compte on utilise la mme syntaxe que prcdemment mais avec la commande CONNECT
SQL> connect scott/tigger

ou
SQL> connect sys/change_on_install AS SYSDBA

Toutes ces chaines de connexion vont se connecter sur le ORACLE_SID dfinit par dfaut moins de redfinir cette variable d'environnement.

Comment rcuprer sa version de SQL*Plus ?


Auteur : jsd03 Pour vrifier ou rcuprer sa version de SQL*Plus, tapez la commande suivante :
sqlplus -V

Comment afficher les proprits lies SQL*Plus ?


Auteur : jsd03 Il suffit de taper la commande suivante :
SQL> define

Le rsultat sera le suivant (mais peut diffrer par rapport votre version de SQL*Plus) :
DEFINE DEFINE DEFINE DEFINE _DATE = "30/03/09" (CHAR) _CONNECT_IDENTIFIER = "XE" (CHAR) _USER = "HR" (CHAR) _PRIVILEGE = "" (CHAR)

-5Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2009 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

[Link]

FAQ SQL*Plus

DEFINE _SQLPLUS_RELEASE = "1002000100" (CHAR) DEFINE _EDITOR = "Notepad" (CHAR) DEFINE _O_VERSION = "Oracle Database 10g Express Edition Release [Link].0 - Production" (CHAR) DEFINE _O_RELEASE = "1002000100" (CHAR)

_DATE : date courante _CONNECT_IDENTIFIER : identifiant de la base de donnes _USER : utilisateur avec lequel vous tes connect _PRIVILEGE : privilge utilis pour se connecter (AS SYSDBA, AS SYSOPER) _SQLPLUS_RELEASE : numro de version _EDITOR : diteur qui sera utilis pour modifier les requtes _O_VERSION : nom de version de la base de donnes _O_RELEASE : numro de version de la base de donnes

Vous pouvez videment afficher sparment toutes ces valeurs en utilisant toujours la commande define et en spcifiant la suite, la variable afficher. Comme par exemple :
SQL> define _CONNECT_IDENTIFIER

Dans le mme ordre d'ide, pour dfinir une nouvelle valeur de variable tapez la commande
SQL> define variableName=newValue

Exemple :
SQL> define _EDITOR="c:/Notepad++/Notepad++.exe"

Certaines variables sont en lecture seule.

Comment afficher le schma et le nom de l'instance dans le prompt ?


Auteur : orafrance Uniquement valide partir de la version 10G d'Oracle. Modifiez le fichier $ORACLE_HOME/sqlplus/admin/[Link] (sous Unix) ou %oracle_home%/sqlplus/ admin/[Link] (sous Windows) et ajoutez :
SQL> SET sqlprompt "&_USER@&_CONNECT_IDENTIFIER> "

Comment changer le nom du prompt SQL> ?


Auteurs : jsd03 - Pomalaix On peut parfois vouloir changer le nom du prompt SQL> pour une nouvelle valeur. Pour ce faire, tapez la commande suivante :
SQL> SET sqlprompt "nouvelleValeur"
-6Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2009 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

[Link]

FAQ SQL*Plus

Exemple :
SQL> SET sqlprompt "jsd03 SQL> "

On peut aussi combiner cette commande pour afficher un prompt du genre "username"@"SID". Par exemple :
SQL> SET sqlprompt &_USER@&_CONNECT_IDENTIFIER>

Notez que si vous changez d'utilisateur, le prompt restera comme vous l'avez dfinit prcdement.

Comment afficher l'heure dans le prompt SQL*Plus ?


Auteur : Emmanuel Lecoester Cette fonctionnalit permet de suivre en temps rel l'xcution d'un script. Pour afficher l'heure en dbut de prompt, il suffit de taper la commande suivante ou de la mettre en dbut de script sql :
SQL> set time on

Rsultat :
[Link] SQL>

Comment savoir avec quel compte je suis connect SQL*Plus ?


Auteur : jsd03 Utiliser la commande suivante :
SQL> SHOW USER

Rsultat (si mon nom d'utilisateur est JSD03) :


USER IS "JSD03"

Comment activer / utiliser l'aide SQL*Plus ?


Auteur : jsd03 Pour utiliser l'aide sur une commande, il suffit de taper HELP suivit de la commande. Exemple :
SQL> help SHOW

ou encore
SQL> help host
-7Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2009 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

[Link]

FAQ SQL*Plus

Il se peut nanmoins que cette aide ne soit pas installe. Pour cela, connectez allez dans le dossier $ORACLE_HOME/sqlplus/admin/help (sous Unix) ou %oracle_home%/sqlplus/admin/help (sous Windows) et lancer les commandes suivantes avec un compte SYS ou SYSTEM :
sqlplus SYS/password @[Link] --supprime les tables d'aide si elles existent dj sqlplus SYS/password @[Link] --cre les tables d'aide sqlplus SYS/password @[Link] --charge les donnes dans les tables d'aide

Comment changer le mot de passe de l'utilisateur courant ?


Auteur : umarus Il suffit d'utiliser tout simplement la commande suivante :
SQL> password

Exemple :
SQL> conn scott Enter password: Connecte. SQL> password Modification de mot de passe pour SCOTT Ancien mot de passe : Nouveau mot de passe : Ressaisir le nouveau mot de passe : Mot de passe modifie SQL>

Comment excuter une commande systme depuis SQL*Plus ?


Auteur : jsd03 Depuis le prompt SQL>, il est possible d'excuter une commande propre au systme d'exploitation l'aide de ces 3 commandes :
SQL> ! commandeUnix SQL> $ commandeWindows SQL> host commandeUnixOuWindows

Exemple (pour un serveur Unix) :


SQL> ! date lun jan 10 [Link] CEST 2009 SQL>

Exemple (pour un serveur Windows) :


SQL> $ echo [Link] [Link] SQL>

-8Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2009 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

[Link]

FAQ SQL*Plus

Il est possible de taper plusieurs commandes la suite en spcifiant uniquement "!" ou "HOST" puis en tapant sur la touche "ENTREE". Le prompt SQL> va se fermer et vous aurez accs au prompt systme. Pour revenir votre session SQL, tapez EXIT. Exemple :
SQL> $ Microsoft Windows XP [version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Documents and Settings\Jean-Sbastien>exit SQL> host Microsoft Windows XP [version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Documents and Settings\Jean-Sbastien>echo [Link] [Link] C:\Documents and Settings\Jean-Sbastien>date La date du jour est : 02/06/2009 Entrez la nouvelle date : (jj-mm-aa) C:\Documents and Settings\Jean-Sbastien>exit SQL>

Comment activer l'affichage du buffer pour la session SQL*Plus en cours?


Auteur : Goldoz Cette commande permettra notamment DBMS_OUTPUT.PUT_LINE('TexteAafficher')
SQL> SET serveroutput ON

d'afficher

le

retour

de

la

procdure

On peut galement spcifier la taille du buffer de sortie en prcisant de la manire suivant :


SQL> SET serveroutput ON size 1000000

Comment exporter toutes les variables d'environnements de SQL*Plus ?


Auteur : jsd03 Il peut tre ncessaire d'exporter les variables d'environnement afin de les rutiliser sur une autre base de donnes. Pour cela tapez la commande suivante :
SQL> store SET fileName

Exemple :
SQL> store SET "c:/[Link]"

-9Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2009 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

[Link]

FAQ SQL*Plus

De la mme manire, pour rimporter ces variables, tapez la commande :


SQL> @"c:/[Link]"

Comment afficher la valeur d'une variable d'environnement de SQL*Plus ?


Auteur : jsd03 Pour faire cela, il faut utiliser la commande suivante :
SQL> SHOW variableName

Exemple pour afficher le nombre de ligne par page :


SQL> SHOW pagesize pagesize 14

Pour afficher toutes les variables :


SQL> SHOW all

Comment quitter correctement SQL*Plus ?


Auteur : jsd03 Pour quitter correctement SQL*Plus, tapez la commande :
SQL> quit

ou
SQL> exit

On peut aussi spcifier d'appliquer les changements ou non aux requtes prcdemments excutes. En spcifiant la suite, COMMIT ou ROLLBACK. Pour information, la commande DISCONNECT permet uniquement de fermer la session de l'utilisateur courant pour permettre par exemple de se connecter avec un autre utilisateur.

- 10 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2009 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

[Link]

FAQ SQL*Plus

Sommaire > Excution de requtes Comment excuter la dernire commande tape ?


Auteur : jsd03 Utilisez le caractre slash "/" et appuyez sur la touche [Entre].
SQL> /

Comment complter une ligne d'une requte ?


Auteur : jsd03 Prenons la requte suivante afin d'ajouter une nouvelle colonne dans la requte :
SQL> SELECT EMPLOYEE_ID, FIRST_NAME 2 FROM employees

Maintenant il faut slectionner la ligne voulue en tapant le numro de ligne (ici 1 pour modifier la premire ligne)
SQL> 1

Ensuite il suffit de taper la commande "a " (pour append) suivit de la nouvelle colonne ou autre
SQL> a , LAST_NAME

Maintenant la requte va tre la suivante :


SQL> SELECT EMPLOYEE_ID, FIRST_NAME, LAST_NAME 2 FROM employees

Comment sauvegarder une session de travail ?


Auteur : umarus Il suffit d'utiliser la commande suivante :
SQL> SPOOL cheminVersLeFichier/nomDuFichier

Cette commande va enregistrer dans le fichier "nomDuFichier" les commandes excutes par l'utilisateur, et les rponses d'Oracle. Pour arrter cette sauvegarde, utiliser la commande suivante :

- 11 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2009 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

[Link]

FAQ SQL*Plus

SQL> SPOOL OFF

Comment afficher le temps d'excution d'une requte ?


Auteur : Vincent Rogier
SQL> SET TIMI[ING] ON/OFF

Exemple :
SQL> SET timing ON SQL> SELECT sysdate FROM dual; SYSDATE -------15/05/09 Ecoul : 00 :00 :00.04 SQL>

Comment afficher le contenu du Buffer ?


Auteur : umarus
SQL> list

La commande LIST (abrviation : L) permet d'afficher le contenu du Buffer. Chaque ligne est prcde de son numro. La dernire est prcde d'une toile. Exemple :
SQL> list 1* select * from account SQL>

On peut galement utiliser le point virgule suivit de la touche [Entre] qui donne le mme rsultat.

Comment excuter un script *.sql sans ouvrir SQL*Plus ?


Auteur : jsd03 Il vous suffit de combiner les commandes de connexion et d'ajouter la suite < [Link]. Exemple :
sqlplus scott/tigger < "c:/[Link]"

ou
sqlplus scott/tigger @"c:/[Link]"

ou encore (suivant le compte)


- 12 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2009 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

[Link]

FAQ SQL*Plus

sqlplus / @"c:/[Link]"

Le script "[Link]" sera excut avec le compte courant et rendra la main au systme d'exploitation une fois le script termin.

Comment excuter un fichier .sql depuis le prompt SQL*Plus ?


Auteur : umarus Il suffit d'utiliser la commande suivante :
SQL> @cheminVersLeFichier/nomDuFichier

Exemple :
SQL> @/home/oracle/scripts/[Link]

Comment diter une requte dans un diteur de texte ?


Auteurs : Antoun - jsd03 Pour commencer, vrifier la valeur de la variable _EDITOR avec la commande suivante :
SQL> DEFINE _EDITOR

Si le retour est correct et renvoie par exemple NOTEPAD ou VI ou tout autre diteur de texte, vous pourrez diter vos requtes SQL sinon dfinissez la variable _EDITOR pour la faire pointer vers un diteur de texte. Comme ceci :
SQL> DEFINE _EDITOR="C:/Program Files/Notepad++/notepad++.exe"

Maintenant, il suffit de taper la commande ED (alias EDIT) pour diter la dernire requte du buffer dans l'diteur de texte. Ce qui est plus ais que le prompt SQL>.
SQL> ed

Une fois le fichier ferm, la nouvelle requte s'affiche l'cran mais ne s'excute pas. Pour le faire tapez "/".

Comment dsactiver le caractre & commercial dans une requte ?


Auteur : jsd03 Le & commercial est le marqueur par dfaut qui indique que le mot qui suit est une variable de substitution. Il permet de demander un utilisateur une nouvelle valeur via un prompt. Pour dsactiver cette fonctionnalit, tapez la commande suivante (suivant votre version d'Oracle) :
SQL> SET DEFINE OFF

ou
- 13 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2009 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

[Link]

FAQ SQL*Plus

SQL> SET SCAN OFF

On peut aussi choisir une autre variable pour dfinir que le nom qui suit est une variable de substitution avec la commande suivante :
SQL> SET DEFINE @

Explication : dans ce cas on ne prend plus le & commercial pour dfinir une variable de substitution mais un arobase.

Comment changer une chaine par une autre dans une requte ?
Auteur : jsd03 Prenons la requte suivante afin de modifier la chaine de caractre 'EMPLOYEE_ID' par 'DEPARTEMENT_ID'
SQL> SELECT EMPLOYEE_ID, FIRST_NAME 2 FROM employees

Maintenant il faut slectionner la ligne voulue en tapant le numro de ligne (ici 1 pour modifier la premire ligne)
SQL> 1

Ensuite il suffit de taper la commande "c" (pour CHANGE) de la chaine de caractre modifier ainsi que la nouvelle chaine.
SQL> c /EMPLOYEE_ID/DEPARTEMENT_ID

Maintenant la requte va tre la suivante :


SQL> SELECT DEPARTEMENT_ID, FIRST_NAME 2 FROM employees

- 14 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2009 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

[Link]

FAQ SQL*Plus

Sommaire > Les rapports SQL Comment activer / dsactiver le retour sur l'tat d'une requte ?
Auteurs : Emmanuel Lecoester - jsd03 Quand vous excutez une requte du type INSERT un message du type Une ligne ajoute s'affiche, ou encore quand vous cr une procdure Procdure cre. Pour dsactiv ce retour, vous pouvez utiliser la commande suivante :
SQL> set feedback off

De mme pour le ractiver :


SQL> set feedback on

On peut galement spcifier un nombre d'occurences aprs lesquels on souhaite que SQL*Plus renvoie un rapport Exemple :
SQL> set feedback 3

Maintenant si on prend l'exemple suivant, SQL*Plus ne renverra pas de rapport mais juste le contenu de la requte
SQL> select last_name 2 from employees 3 where rownum < 3; LAST_NAME ------------------------Abel Ande

Maintenant si on change la valeur du feedback 2, on obtient le rsultat suivant :


SQL> select last_name 2 from employees 3 where rownum < 3; LAST_NAME ------------------------Abel Ande 2 ligne(s) slectionne(s).

Comment dsactiver / activer le nom des colonnes l'affichage d'une requte ?


Auteurs : Emmanuel Lecoester - jsd03 Pour dsactiver l'affichage du nom des colonnes, et n'avoir que les donnes d'une requte, il suffit de taper la commande suivante :

- 15 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2009 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

[Link]

FAQ SQL*Plus

SQL> set heading off

Au contraire, pour ractiver l'affichage du nom des colonnes :


SQL> set heading on

Exemple avec le nom des colonnes dsactiv :


SQL> select last_name, first_name 2 from employees 3 where rownum < 4; Abel Ande Atkinson Ellen Sundar Mozhe

Comment modifier le nombre de lignes par page au rsultat d'un requte ?


Auteur : jsd03 Par dfaut le nombre de lignes affiches par page est 11. Exemple :
EMPLOYEE_ID ----------100 101 102 103 104 105 106 107 108 109 110 EMPLOYEE_ID ----------111 112 113 114 FIRST_NAME -------------------Steven Neena Lex Alexander Bruce David Valli Diana Nancy Daniel John FIRST_NAME -------------------Ismael Jose Manuel Luis Den LAST_NAME ------------------------King Kochhar De Haan Hunold Ernst Austin Pataballa Lorentz Greenberg Faviet Chen LAST_NAME ------------------------Sciarra Urman Popp Raphaely

Pour modifier cette valeur il suffit de taper la commande suivante pour afficher par exemple 100 lignes par page :
SQL> SET pagesize 100

Rsultat :
EMPLOYEE_ID ----------100 101 102 103 FIRST_NAME -------------------Steven Neena Lex Alexander LAST_NAME ------------------------King Kochhar De Haan Hunold

- 16 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2009 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

[Link]

FAQ SQL*Plus

104 105 106 107 108 109 110 111 112 113 114

Bruce David Valli Diana Nancy Daniel John Ismael Jose Manuel Luis Den

Ernst Austin Pataballa Lorentz Greenberg Faviet Chen Sciarra Urman Popp Raphaely

Comment modifier le nombre de caractres par ligne au rsultat d'un requte ?


Auteur : jsd03 Par dfaut le nombre de caractres par lignes est de 72. Pour modifier ce nombre tapez la commande suivante :
SQL> SET linesize 200

Comment dfinir la taille d'une colonne de type VARCHAR2 l'affichage d'un requte ?
Auteur : jsd03 Prenons pour exemple la requte suivante :
SQL> SELECT employee_id, first_name, last_name 2 FROM employees 3 WHERE rownum < 10;

qui renvoit les lignes suivantes :


EMPLOYEE_ID ----------100 101 102 103 104 105 106 107 108 FIRST_NAME -------------------Steven Neena Lex Alexander Bruce David Valli Diana Nancy LAST_NAME ------------------------King Kochhar De Haan Hunold Ernst Austin Pataballa Lorentz Greenberg

Je vais modifier la taille de la colonne first_name pour n'afficher que 8 caractres.


SQL> COLUMN first_name FORMAT A8;

Maintenant l'affichage sera :


EMPLOYEE_ID ----------100 101 102 103 FIRST_NA -------Steven Neena Lex Alexande LAST_NAME ------------------------King Kochhar De Haan Hunold

- 17 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2009 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

[Link]

FAQ SQL*Plus

104 105 106 107 108

r Bruce David Valli Diana Nancy

Ernst Austin Pataballa Lorentz Greenberg

Explication : COLUMN first_name : on spcifie que l'on slectionne la colonne first_name FORMAT A8 : on dfinit que l'on souhaite modifier la longueur de la colonne pour ne prendre plus que 8 caractres et renvoyer les autres la lignes. On voit que pour l'employ 103, son prnom se trouve maintenant sur 2 ligne car il contient plus de 8 caractres. Cette fonction est trs 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 spcifier A50 pour viter d'afficher des espaces superflus l'affichage de la requte. On peut aussi spcifier de tronquer la colonne une fois le nombre de caractre afficher au lieu de retourner la ligne avec le mot TRUNCATE. Exemple :
SQL> COLUMN first_name FORMAT A8 TRUNCATE;

Rsultat :
EMPLOYEE_ID ----------100 101 102 103 104 105 106 107 108 FIRST_NA -------Steven Neena Lex Alexande Bruce David Valli Diana Nancy LAST_NAME ------------------------King Kochhar De Haan Hunold Ernst Austin Pataballa Lorentz Greenberg

Notez que le prnom de l'employ 103 est tronqu.

Comment afficher un titre en dbut de chaque page de mon rsultat de requte ?


Auteur : jsd03 Pour cela il faut utiliser la la fonction TTITLE :
SQL> TTITLE 'Mon titre'

Retour :
Ven. Juin 05 Mon titre EMPLOYEE_ID FIRST_NAME LAST_NAME page 1

- 18 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2009 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

[Link]

FAQ SQL*Plus

----------100 101 102 103 104 105 106 107

-------------------Steven Neena Lex Alexander Bruce David Valli Diana

------------------------King Kochhar De Haan Hunold Ernst Austin Pataballa Lorentz

Comme vous pouvez le voir maintenant en haute de chaque page mon titre s'affiche ainsi que la date du jour et le numro de la page. Pour arrter l'affichage du titre utilisez la commande suivante :
SQL> TTITLE OFF

Dans le mme esprit on peut ajouter du texte la fin d'une page :


BTITLE 'Fin de page'

Retour :
EMPLOYEE_ID ----------100 101 102 103 104 105 106 107 108 FIRST_NAME -------------------Steven Neena Lex Alexander Bruce David Valli Diana Nancy LAST_NAME ------------------------King Kochhar De Haan Hunold Ernst Austin Pataballa Lorentz Greenberg Fin de page

Comment crer des rapports HTML ?


Auteur : jsd03 Il est possible avec SQL*Plus de gnrer des fichiers HTML pour afficher le rsultat d'une requte. Pour se faire, crez un fichier avec le code suivant et excutez le avec la commande
SQL> @[Link] 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:\[Link] TTITLE "- Liste des employs -" SELECT * FROM employees; /

- 19 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2009 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

[Link]

FAQ SQL*Plus

SET markup html off spool off spool off

Explications : SET MARKUP HTML : active les rapports HTML SPOOL ON : active la sortie vers un fichier PREFORMAT OFF : dsactive le prformatage du rsultat de la requte ENTMAP ON : remplace les caractres spciaux tel que &, >, <... par leur code html HEAD : dfinit le code l'intrieur des balises <head></head> ; le code qui suit, sera insr entre ces balise. On peut alors inclure des fichiers styles, du javascript... BODY : dfinit les paramtres des balises body ; par exemple si j'avais mis
BODY " bgcolor='red' "

le fond de mon rapport aurait t en rouge. C'est pour cela que dans mon exemple j'ai d'abord ferm la balise <body> pour afficher un bloque <div> la suite et que je n'ai pas termin ma balise </div car SQL*Plus s'en chargera quand il gnrera le rapport. spool filename : cre le rapport dans le fichier qui suit TTITLE : dfinit le titre du rapport la requte set markup html off spool off spool off : on rinitialise toutes les variables SQL*Plus

Vous pourrez voir l'exemple de rapport cr en cliquant sur ce lien.

- 20 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2009 Developpez LLC. Tous droits rservs Developpez LLC. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

[Link]

Vous aimerez peut-être aussi