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 बदल गया हूं फ़ाइल निर्यात करने के बाद वापस चालू करें।