sql >> Database >  >> RDS >> Oracle

SQLcl-opmaakopties (Oracle)

Wanneer u SQLcl gebruikt om Oracle Database te doorzoeken, kunt u de SET SQLFORMAT . gebruiken commando om het formaat van de resultaten te bepalen.

U kunt ook inline opmerkingen gebruiken om de indeling rechtstreeks vanuit uw zoekopdracht te specificeren.

U kunt bijvoorbeeld het volgende gebruiken om de resultaten in CSV-indeling uit te voeren:

SET SQLFORMAT csv;
SELECT * FROM regions;

Of je kunt het als volgt doen:

SELECT /*csv*/ * FROM regions;

Opmaakopties

De volgende opties kunnen worden gebruikt om het uitvoerformaat te specificeren:

Optie Beschrijving
default Wis alle opmaak en stelt deze in op SQL*PLUS-stijl opmaak. Deze optie werkt alleen met de SET SQLFORMAT commando.
ansiconsole Geavanceerde opmaak op basis van gegevens en terminalgrootte.
fixed Vaste breedte.
csv Door komma's gescheiden formaat met strings tussen dubbele aanhalingstekens (" ).
loader Pijp (| ) gescheiden formaat met strings tussen dubbele aanhalingstekens (" ).
delimited CSV-indeling met optioneel scheidingsteken, linker- en rechterbijlage.
text Geef de resultaten weer als tekst, zonder scheidingstekens. Deze optie is niet gedocumenteerd in de HELP optie.
insert Genereert SQL INSERT uitspraken uit de resultaten.
json JSON-indeling die overeenkomt met ORDS-verzamelingsindeling.
json-formatted JSON-indeling die overeenkomt met ORDS Collection-indeling en mooi afgedrukt. De JSON wordt gepresenteerd in een meer voor mensen leesbaar formaat.
xml XML-indeling.
html HTML-tabelformaat. Genereert de code voor een HTML-document met een tabel met opmaak en een JavaScript-zoekfunctie.

Voorbeelden

Hieronder staan ​​voorbeelden om de bovenstaande opties te demonstreren.

default

Wis alle opmaak en stelt deze in op SQL*PLUS-opmaak.

SET SQLFORMAT default;
SELECT * FROM regions;

Resultaat:

SQL Format Cleared

 REGION_ID REGION_NAME              
---------- -------------------------
         1 Europe                   
         2 Americas                 
         3 Asia                     
         4 Middle East and Africa   

ansiconsole

Geavanceerde opmaak op basis van gegevens en terminalgrootte.

SET SQLFORMAT ansiconsole;
SELECT * FROM regions;

Resultaat:

   REGION_ID               REGION_NAME 
____________ _________________________ 
           1 Europe                    
           2 Americas                  
           3 Asia                      
           4 Middle East and Africa    

fixed

Vaste breedte.

SET SQLFORMAT fixed;
SELECT * FROM regions;

Resultaat:

"REGION_ID"                   "REGION_NAME"                 
"1"                           "Europe"                      
"2"                           "Americas"                    
"3"                           "Asia"                        
"4"                           "Middle East and Africa"

csv

Door komma's gescheiden formaat met tekenreeksen tussen dubbele aanhalingstekens (" ).

SET SQLFORMAT csv;
SELECT * FROM regions;

Resultaat:

"REGION_ID","REGION_NAME"
1,"Europe"
2,"Americas"
3,"Asia"
4,"Middle East and Africa"

loader

Pijp (| ) gescheiden formaat met strings tussen dubbele aanhalingstekens (" ).

SET SQLFORMAT loader;
SELECT * FROM regions;

Resultaat:

 1|"Europe"|
 2|"Americas"|
 3|"Asia"|
 4|"Middle East and Africa"|

delimited

CSV-indeling met optioneel scheidingsteken, linker- en rechterbehuizing. Hierdoor kunt u uw eigen scheidingstekens kiezen.

SET SQLFORMAT delimited , < >;
SELECT * FROM regions;

Resultaat:

<REGION_ID>,<REGION_NAME>
1,<Europe>
2,<Americas>
3,<Asia>
4,<Middle East and Africa>

text

Geef de resultaten weer als tekst, zonder scheidingstekens. Deze optie is niet gedocumenteerd in de HELP optie.

SET SQLFORMAT text;
SELECT * FROM regions;

Resultaat:

"REGION_ID"null"REGION_NAME"
1null"Europe"
2null"Americas"
3null"Asia"
4null"Middle East and Africa"

insert

Genereert SQL INSERT uitspraken uit de resultaten.

SET SQLFORMAT insert;
SELECT * FROM regions;

Resultaat:

REM INSERTING into REGIONS
SET DEFINE OFF;
Insert into REGIONS (REGION_ID,REGION_NAME) values (1,'Europe');
Insert into REGIONS (REGION_ID,REGION_NAME) values (2,'Americas');
Insert into REGIONS (REGION_ID,REGION_NAME) values (3,'Asia');
Insert into REGIONS (REGION_ID,REGION_NAME) values (4,'Middle East and Africa');

json

JSON-indeling die overeenkomt met ORDS-verzamelingsindeling.

SET SQLFORMAT json;
SELECT * FROM regions;

Resultaat:

{"results":[{"columns":[{"name":"REGION_ID","type":"NUMBER"},{"name":"REGION_NAME","type":"VARCHAR2"}],"items":
[
{"region_id":1,"region_name":"Europe"}
,{"region_id":2,"region_name":"Americas"}
,{"region_id":3,"region_name":"Asia"}
,{"region_id":4,"region_name":"Middle East and Africa"}
]}]}

json-formatted

JSON-formaat dat overeenkomt met ORDS Collection-formaat en mooi afgedrukt. De JSON wordt gepresenteerd in een meer voor mensen leesbaar formaat.

SET SQLFORMAT json-formatted;
SELECT * FROM regions;

Resultaat:

{
  "results" : [
    {
      "columns" : [
        {
          "name" : "REGION_ID",
          "type" : "NUMBER"
        },
        {
          "name" : "REGION_NAME",
          "type" : "VARCHAR2"
        }
      ],
      "items" : [
        {
          "region_id" : 1,
          "region_name" : "Europe"
        },
        {
          "region_id" : 2,
          "region_name" : "Americas"
        },
        {
          "region_id" : 3,
          "region_name" : "Asia"
        },
        {
          "region_id" : 4,
          "region_name" : "Middle East and Africa"
        }
      ]
    }
  ]
}

xml

XML-indeling.

SET SQLFORMAT xml;
SELECT * FROM regions;

Resultaat:

<?xml version='1.0'  encoding='UTF-8' ?>
<RESULTS>
	<ROW>
		<COLUMN NAME="REGION_ID"><![CDATA[1]]></COLUMN>
		<COLUMN NAME="REGION_NAME"><![CDATA[Europe]]></COLUMN>
	</ROW>
	<ROW>
		<COLUMN NAME="REGION_ID"><![CDATA[2]]></COLUMN>
		<COLUMN NAME="REGION_NAME"><![CDATA[Americas]]></COLUMN>
	</ROW>
	<ROW>
		<COLUMN NAME="REGION_ID"><![CDATA[3]]></COLUMN>
		<COLUMN NAME="REGION_NAME"><![CDATA[Asia]]></COLUMN>
	</ROW>
	<ROW>
		<COLUMN NAME="REGION_ID"><![CDATA[4]]></COLUMN>
		<COLUMN NAME="REGION_NAME"><![CDATA[Middle East and Africa]]></COLUMN>
	</ROW>
</RESULTS>

html

HTML-tabelformaat. Genereert de code voor een HTML-document met een tabel met opmaak en een JavaScript-zoekfunctie.

SET SQLFORMAT html;
SELECT * FROM regions;

De resulterende HTML-code is vrij groot, omdat het een HTML-document maakt, stijlen, JavaScript, enz. toevoegt.

Zo ziet de resulterende HTML eruit wanneer deze wordt opgeslagen in een .html bestand en weergegeven in een browser:

  • regions.html

En hier is de daadwerkelijke HTML-code die is gegenereerd:

<!DOCTYPE html>
<html>

<head>
  <meta charset='UTF-8'>
  
  <title>Result Data</title>
  
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  
  <style>
  * { 
    margin: 0; 
    padding: 0; 
  }
  body { 
    font: 14px/1.4 Palatino, Serif; 
  }
  
  /* 
  Generic Styling, for Desktops/Laptops 
  */
  table { 
    width: 100%; 
    border-collapse: collapse; 
  }
  /* Zebra striping */
  tr:nth-of-type(odd) { 
    background: #eee; 
  }
  th { 
    background: #333; 
    color: white; 
    font-weight: bold; 
  }
  td, th { 
    padding: 6px; 
    border: 1px solid #9B9B9B; 
    text-align: left; 
  }
  @media 
  only screen and (max-width: 760px),
  (min-device-width: 768px) and (max-device-width: 1024px)  {
    table, thead, tbody, th, td, tr { display: block; }
    thead tr { position: absolute;top: -9999px;left: -9999px;}
    tr { border: 1px solid #9B9B9B; }
    td { border: none;border-bottom: 1px solid #9B9B9B; position: relative;padding-left: 50%; }
    
    td:before { position: absolute;top: 6px;left: 6px;width: 45%; padding-right: 10px; white-space: nowrap;}
    
    /*
    Label the data
    */
td:nth-of-type(1):before { content: "REGION_ID"; }
td:nth-of-type(2):before { content: "REGION_NAME"; }
  }
  
  /* Smartphones (portrait and landscape) ----------- */
  @media only screen
  and (min-device-width : 320px)
  and (max-device-width : 480px) {
    body { 
      padding: 0; 
      margin: 0; 
      width: 320px; }
    }
  
  /* iPads (portrait and landscape) ----------- */
  @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
    body { 
      width: 495px; 
    }
  }
  
  </style>
  <!--<![endif]-->
<script type="text/javascript">

function search(){
  
  var s = document.getElementById('search').value;

  rows = document.getElementById('data').getElementsByTagName('TR');
  for(var i=0;i<rows.length;i++){
    if ( rows[i].textContent.indexOf(s)>0  || s.length==0 ) {
	  rows[i].style.display ='';
    } else {
      rows[i].style.display ='none';
    }
  }
}


var timer;
function delayedSearch() {
	clearTimeout(timer);
	console.log('delay-ing')
    timer = setTimeout(function () {
		console.log('delay-running')
		search();
    }, 500);
  }</script>
</head>

<body>
<div><input type="text" size="30" maxlength="1000" value="" id="search" onkeyup="delayedSearch();" /><input type="button" value="Go" onclick="lsearch();"/> </div>
<table><thead><tr>	<th>REGION_ID</th>
	<th>REGION_NAME</th>
</tr></thead>
<tbody id="data">

	<tr>
<td align="right">1</td>
<td>Europe</td>
	</tr>
	<tr>
<td align="right">2</td>
<td>Americas</td>
	</tr>
	<tr>
<td align="right">3</td>
<td>Asia</td>
	</tr>
	<tr>
<td align="right">4</td>
<td>Middle East and Africa</td>
	</tr>
</tbody></table><!-- SQL:
SELECT * FROM regions--></body></html>

  1. De naam van de primaire sleutelbeperking voor meerdere tabellen in de SQL Server-database wijzigen - SQL Server / TSQL-zelfstudie, deel 64

  2. ODBC gebruiken met Salesforce en OneLogin Single Sign On (SSO)

  3. Reden waarom orakel hoofdlettergevoelig is?

  4. SIN() Voorbeelden in SQL Server