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

SQLcl का उपयोग करते समय Oracle क्वेरी परिणामों को HTML फ़ाइल में निर्यात करें

Oracle डेटाबेस के साथ SQLcl का उपयोग करते समय, आप SPOOL . का उपयोग कर सकते हैं .html . वाली फ़ाइल में अपने क्वेरी परिणामों को निर्यात करने का आदेश एक्सटेंशन, और आप SQLFORMAT . सेट कर सकते हैं करने के लिए html वास्तविक क्वेरी परिणामों को HTML प्रारूप में आउटपुट करने के लिए।

उदाहरण

प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है:

SET SQLFORMAT html;
SPOOL '/Users/barney/data/regions.html';
SELECT * FROM regions;
SPOOL off;
SET SQLFORMAT ansiconsole;

लाइन दर लाइन इसने क्या किया:

  • पहली पंक्ति SQLFORMAT सेट करती है करने के लिए html . यह सुनिश्चित करता है कि हमारा परिणामी .html फ़ाइल में वास्तव में HTML कोड होता है।
  • दूसरी पंक्ति में SPOOL . का प्रयोग किया गया है यह निर्दिष्ट करने के लिए आदेश दें कि आउटपुट फ़ाइल कहाँ लिखी जाएगी। /Users/barney/data/regions.html . को बदलना सुनिश्चित करें आपके सिस्टम पर किसी स्थान पर, और एक उपयुक्त फ़ाइल नाम पर।
  • तीसरी पंक्ति में, मैंने SQL क्वेरी चलाई - जिसके परिणाम मैं निर्यात कर रहा हूं। इस मामले में, मैंने पूरे regions . का निर्यात किया टेबल.
  • अगला, मैं SPOOL बदल गया बंद।
  • आखिरकार, मैंने SQLFORMAT सेट किया है मेरी मूल सेटिंग पर वापस, जो ansiconsole . थी . यह वैकल्पिक है - आप इसे json . पर छोड़ सकते हैं अगर आप चाहें, या इसे किसी और चीज़ में बदल दें।

यहाँ परिणामी फ़ाइल कैसी दिखती है:

  • regions.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>

4 rows selected.

तो यह संपूर्ण HTML दस्तावेज़ उत्पन्न करता है - न कि केवल तालिका।

आप देखेंगे कि कुछ सीएसएस स्टाइलिंग उद्देश्यों के लिए जोड़े गए हैं, और जावास्क्रिप्ट को एक खोज फ़ंक्शन बनाने के लिए जोड़ा गया है।

फ़ीडबैक निकालें

आप X rows selected SET FEEDBACK off :

SET SQLFORMAT html;
SET FEEDBACK off;
SPOOL '/Users/barney/data/regions_feedback_off.html';
SELECT * FROM regions;
SPOOL off;
SET FEEDBACK on;
SET SQLFORMAT ansiconsole;

इस मामले में मैं FEEDBACK बदल गया हूं फ़ाइल निर्यात करने के बाद वापस चालू करें।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle में पैकेज के अंदर एक प्रक्रिया कैसे बनाएं

  2. Oracle 11g - RegEx के साथ बाधाओं की जाँच करें

  3. SQL के साथ कुशलता से बड़ी मात्रा में डेटा डालें

  4. Oracle में varchar2 PL/SQL सबप्रोग्राम तर्क के लिए आकार सीमा क्या है?

  5. JDBC खाली परिणाम सेट लौटा रहा है