{"id":180,"date":"2013-03-11T12:41:45","date_gmt":"2013-03-11T11:41:45","guid":{"rendered":"http:\/\/sam-soul.fr\/Info\/?p=180"},"modified":"2013-03-11T12:41:45","modified_gmt":"2013-03-11T11:41:45","slug":"sqlplus-fichier-csv","status":"publish","type":"post","link":"http:\/\/les-fougs.com\/wordpress\/2013\/03\/11\/sqlplus-fichier-csv\/","title":{"rendered":"SQLPlus fichier CSV"},"content":{"rendered":"<h2>Options de formatage des r\u00e9sultats<\/h2>\n<p><a href=\"https:\/\/dpt-info.u-strasbg.fr\/doc\/oracle\/server.102\/b14357\/ch12040.htm\">Ici se trouve une pr\u00e9sentation tr\u00e8s d\u00e9taill\u00e9e.<\/a><\/p>\n<h3>1. Largeur des colonnes<\/h3>\n<p>Un formatage \u00e9l\u00e9mentaire consiste \u00e0 donner une largeur aux colonnes, comme ceci :<br \/>\n<span>set recsep off<\/span> (pour \u00e9viter qu&rsquo;il n&rsquo;y ait quelque chose entre chaque ligne, le quelque chose \u00e9tant d\u00e9fini par la variable <span>recsepchar<\/span>)<br \/>\n<span>column format a20<\/span> (la colonne aura 20 caract\u00e8res de large)<br \/>\npuis entrer la requ\u00eate.<\/p>\n<p><span>nom_de_colonne<\/span> est \u00e9gal au nom des champs qu&rsquo;on s\u00e9lectionne.<br \/>\n<strong>Quel est l&rsquo;\u00e9quivalent du AS sur sql server ?<\/strong><br \/>\nR\u00e9ponse : c&rsquo;est la commande <span>column heading <\/span><br \/>\nPar exemple : <span>column doris_key heading exemplaire<\/span><\/p>\n<h3>2. Largeur des lignes<\/h3>\n<p>La commande <span>set linesize <\/span> permet de limiter la largeur de la page.<\/p>\n<p>Attention, il faut que la somme des largeurs de colonnes n&rsquo;exc\u00e8de pas la largeur de la ligne ! Sinon, sqlplus reprend son formatage par d\u00e9faut.<\/p>\n<p><strong>O\u00f9 se trouve le fichier de formatage par d\u00e9faut ?<\/strong><br \/>\nR\u00e9ponse : en tapant la commande <span>show all<\/span>, on a tout le formatage par d\u00e9faut.<br \/>\nOn peut sauvegarder tous ces param\u00e8tres dans un fichier en envoyant la commande <span>store set <\/span><br \/>\n<a href=\"http:\/\/combot.univ-tln.fr\/loris\/admin\/sqlplus\/settingssql.txt\">Voici le contenu de ce fichier.<\/a><br \/>\nAu d\u00e9marrage, sqlplus lit le contenu du fichier glogin.sql.<br \/>\n<a href=\"http:\/\/combot.univ-tln.fr\/loris\/admin\/sqlplus\/glogin.txt\">Voici le contenu de ce fichier.<\/a><br \/>\nCe fichier est dans : oraclev8:app:oracle:product:8.1.7:sqlplus:admin<\/p>\n<p>Si on veut conserver un param\u00e9trage pour toutes les futures utilisations de sqlplus, il faut les enregistrer dans un fichier login.sql plac\u00e9 dans le r\u00e9pertoire de base : \u00e0 essayer.<\/p>\n<h3>3. Longueur des pages<\/h3>\n<p>La commande <span>set pagesize <\/span> permet de pr\u00e9ciser tous les combiens de lignes va revenir le titre des colonnes. Dans le param\u00e9trage par d\u00e9faut, cette variable est \u00e0 14, c&rsquo;est pour \u00e7a que les noms des colonnes reviennent si souvent !<br \/>\nPour supprimer tout retour des titres de colonnes, taper <span>set pagesize 0<\/span><\/p>\n<h3>Formatage pour csv<\/h3>\n<p>1. Enregistrer les options de formatage dans un fichier externe qu&rsquo;on appellera avec @. Voici par exemple le contenu d&rsquo;un fichier csv.sql :<\/p>\n<pre>set LIN 1000\nset HEADING OFF\nset TRIMSPOOL ON\nset PAGESIZE 0\nset EMBEDDED OFF\nset HEADS OFF\nset NEWP NONE\nset ECHO OFF\nset FEEDBACK OFF\nset SPACE 0\nset COLSEP \" \"\nset TAB OFF<\/pre>\n<p>2. Avant de lancer la requ\u00eate, faire <span>spool .csv<\/span> (pas besoin d&rsquo;indiquer tout le chemin si on lance sqlplus dans le m\u00eame r\u00e9pertoire o\u00f9 l&rsquo;on veut envoyer le fichier).<\/p>\n<p>3. Appeler le fichier de formatage : <span>@csv.sql<\/span><\/p>\n<p>4. Taper la requ\u00eate en faisant une concat\u00e9nation des colonnes comme ceci :<br \/>\n<span>select col1||&rsquo;;&rsquo;||col2 from<\/span><\/p>\n<p>5. Taper <span>spool off<\/span><\/p>\n<p>Signification des r\u00e9glages :<br \/>\nTRIMSPOOL ON : suppression des espaces en fin de ligne<br \/>\nTAB OFF : non utilisation des tabulations<br \/>\nEMBEDDED OFF : pas de contr\u00f4le sur l&rsquo;endroit de la page o\u00f9 doit commencer le rapport<br \/>\nHEADING OFF : en-t\u00eate du r\u00e9sultat (= nom des colonnes)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Options de formatage des r\u00e9sultats Ici se trouve une pr\u00e9sentation tr\u00e8s d\u00e9taill\u00e9e. 1. Largeur des colonnes Un formatage \u00e9l\u00e9mentaire consiste \u00e0 donner une largeur aux colonnes, comme ceci : set recsep off (pour \u00e9viter qu&rsquo;il n&rsquo;y ait quelque chose entre chaque ligne, le quelque chose \u00e9tant d\u00e9fini par la variable recsepchar) column format a20 (la &hellip; <a href=\"http:\/\/les-fougs.com\/wordpress\/2013\/03\/11\/sqlplus-fichier-csv\/\" class=\"more-link\">Continuer la lecture<span class=\"screen-reader-text\"> de &laquo;&nbsp;SQLPlus fichier CSV&nbsp;&raquo;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[37],"tags":[],"_links":{"self":[{"href":"http:\/\/les-fougs.com\/wordpress\/wp-json\/wp\/v2\/posts\/180"}],"collection":[{"href":"http:\/\/les-fougs.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/les-fougs.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/les-fougs.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/les-fougs.com\/wordpress\/wp-json\/wp\/v2\/comments?post=180"}],"version-history":[{"count":0,"href":"http:\/\/les-fougs.com\/wordpress\/wp-json\/wp\/v2\/posts\/180\/revisions"}],"wp:attachment":[{"href":"http:\/\/les-fougs.com\/wordpress\/wp-json\/wp\/v2\/media?parent=180"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/les-fougs.com\/wordpress\/wp-json\/wp\/v2\/categories?post=180"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/les-fougs.com\/wordpress\/wp-json\/wp\/v2\/tags?post=180"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}