Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

SQLcl स्वरूपण विकल्प (ओरेकल)

Oracle डेटाबेस को क्वेरी करने के लिए SQLcl का उपयोग करते समय, आप SET SQLFORMAT . का उपयोग कर सकते हैं परिणामों के प्रारूप को निर्धारित करने के लिए आदेश।

आप सीधे अपनी क्वेरी के भीतर से प्रारूप निर्दिष्ट करने के लिए इनलाइन टिप्पणियों का भी उपयोग कर सकते हैं।

उदाहरण के लिए, आप परिणामों को CSV प्रारूप में आउटपुट करने के लिए निम्न का उपयोग कर सकते हैं:

SET SQLFORMAT csv;
SELECT * FROM regions;

या आप इसे इस तरह कर सकते हैं:

SELECT /*csv*/ * FROM regions;

स्वरूपण विकल्प

आउटपुट स्वरूप निर्दिष्ट करने के लिए निम्नलिखित विकल्पों का उपयोग किया जा सकता है:

<थ>विवरण
विकल्प
default सभी स्वरूपण को साफ़ करता है और इसे SQL*PLUS शैली स्वरूपण पर सेट करता है। यह विकल्प केवल SET SQLFORMAT . के साथ काम करता है आदेश।
ansiconsole डेटा और टर्मिनल आकार के आधार पर उन्नत स्वरूपण।
fixed निश्चित चौड़ाई।
csv दोहरे उद्धरणों में संलग्न स्ट्रिंग्स के साथ अल्पविराम से अलग प्रारूप (" )।
loader पाइप (| ) डबल कोट्स में संलग्न स्ट्रिंग्स के साथ सीमांकित प्रारूप (" )।
delimited CSV प्रारूप वैकल्पिक विभाजक, बाएँ और दाएँ संलग्नक के साथ।
text विभाजक के बिना परिणामों को टेक्स्ट के रूप में आउटपुट करता है। यह विकल्प HELP . में प्रलेखित नहीं है विकल्प।
insert एसक्यूएल उत्पन्न करता है INSERT परिणामों से बयान।
json जेएसओएन प्रारूप ओआरडीएस संग्रह प्रारूप से मेल खाता है।
json-formatted JSON प्रारूप ORDS संग्रह प्रारूप से मेल खाता है और सुंदर मुद्रित है। JSON को अधिक मानवीय पठनीय प्रारूप में प्रस्तुत किया गया है।
xml XML प्रारूप।
html HTML सारणीबद्ध प्रारूप। स्टाइल वाली तालिका और JavaScript खोज टूल के साथ HTML दस्तावेज़ के लिए कोड जेनरेट करता है।

उदाहरण

उपरोक्त विकल्पों को प्रदर्शित करने के लिए नीचे उदाहरण दिए गए हैं।

default

सभी फ़ॉर्मेटिंग को साफ़ करता है और इसे SQL*PLUS शैली स्वरूपण पर सेट करता है।

SET SQLFORMAT default;
SELECT * FROM regions;

परिणाम:

SQL Format Cleared

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

ansiconsole

डेटा और टर्मिनल आकार के आधार पर उन्नत स्वरूपण।

SET SQLFORMAT ansiconsole;
SELECT * FROM regions;

परिणाम:

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

fixed

निश्चित चौड़ाई।

SET SQLFORMAT fixed;
SELECT * FROM regions;

परिणाम:

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

csv

दोहरे उद्धरण चिह्नों (" में संलग्न स्ट्रिंग के साथ अल्पविराम से अलग किया गया प्रारूप )।

SET SQLFORMAT csv;
SELECT * FROM regions;

परिणाम:

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

loader

पाइप (| ) डबल कोट्स में संलग्न स्ट्रिंग्स के साथ सीमांकित प्रारूप (" )।

SET SQLFORMAT loader;
SELECT * FROM regions;

परिणाम:

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

delimited

वैकल्पिक विभाजक, बाएँ और दाएँ संलग्नक के साथ CSV प्रारूप। यह आपको अपने स्वयं के सीमांकक चुनने में सक्षम बनाता है।

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

परिणाम:

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

text

विभाजक के बिना परिणामों को टेक्स्ट के रूप में आउटपुट करता है। यह विकल्प HELP . में प्रलेखित नहीं है विकल्प।

SET SQLFORMAT text;
SELECT * FROM regions;

परिणाम:

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

insert

SQL उत्पन्न करता है INSERT परिणामों से बयान।

SET SQLFORMAT insert;
SELECT * FROM regions;

परिणाम:

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

जेएसओएन प्रारूप ORDS संग्रह प्रारूप से मेल खाता है।

SET SQLFORMAT json;
SELECT * FROM regions;

परिणाम:

{"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 को अधिक मानवीय पठनीय प्रारूप में प्रस्तुत किया गया है।

SET SQLFORMAT json-formatted;
SELECT * FROM regions;

परिणाम:

{
  "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 प्रारूप।

SET SQLFORMAT xml;
SELECT * FROM regions;

परिणाम:

<?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 सारणीबद्ध प्रारूप। स्टाइल वाली तालिका और JavaScript खोज टूल के साथ HTML दस्तावेज़ के लिए कोड जेनरेट करता है।

SET SQLFORMAT html;
SELECT * FROM regions;

परिणामी HTML कोड काफी बड़ा है, क्योंकि यह एक HTML दस्तावेज़ बनाता है, शैलियों, जावास्क्रिप्ट, आदि जोड़ता है।

.html . में सहेजे जाने पर परिणामी HTML कैसा दिखता है, यह यहां दिया गया है फ़ाइल और ब्राउज़र में रेंडर किया गया:

  • regions.html

और यहां वास्तविक HTML कोड है जो उत्पन्न किया गया था:

<!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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. बाइंड वैरिएबल का उपयोग करके गतिशील रूप से टेबल और कॉलम नाम पास करना

  2. एक कॉलम में दोहराए जाने वाले मान

  3. ओरेकल एसक्यूएल ऑर्डर सबक्वायरी समस्याओं में!

  4. कमांड लाइन से sqlplus स्टेटमेंट

  5. जावा में पीएल/एसक्यूएल फ़ंक्शन को कॉल करें?