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