Saat menggunakan SQLcl dengan Oracle Database, Anda dapat menggunakan SPOOL perintah untuk mengekspor hasil kueri Anda ke file dengan .html ekstensi, dan Anda dapat mengatur SQLFORMAT ke html untuk menampilkan hasil kueri aktual dalam format HTML.
Contoh
Berikut ini contoh untuk didemonstrasikan:
SET SQLFORMAT html;
SPOOL '/Users/barney/data/regions.html';
SELECT * FROM regions;
SPOOL off;
SET SQLFORMAT ansiconsole; Inilah yang dilakukannya, baris demi baris:
- Baris pertama menetapkan
SQLFORMATkehtml. Ini memastikan bahwa.htmlyang kami hasilkan file sebenarnya berisi kode HTML. - Baris kedua menggunakan
SPOOLperintah untuk menentukan di mana file output akan ditulis. Pastikan untuk mengubah/Users/barney/data/regions.htmlke lokasi di sistem Anda, dan nama file yang sesuai. - Pada baris ketiga, saya menjalankan kueri SQL – hasil yang saya ekspor. Dalam hal ini, saya mengekspor seluruh
regionsmeja. - Selanjutnya, saya mengubah
SPOOLmati. - Terakhir, saya mengatur
SQLFORMATkembali ke pengaturan awal saya, yaituansiconsole. Ini opsional – Anda dapat membiarkannya dijsonjika Anda mau, atau ubah ke yang lain.
Berikut tampilan file yang dihasilkan:
regions.html
Dan inilah kode sumber di balik file itu:
<!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. Jadi ini menghasilkan seluruh dokumen HTML – bukan hanya tabel.
Anda akan melihat bahwa beberapa CSS telah ditambahkan untuk tujuan penataan gaya, dan JavaScript telah ditambahkan untuk membuat fungsi pencarian.
Hapus Masukan
Anda dapat menghapus X rows selected dengan 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;
Dalam hal ini saya mengubah FEEDBACK hidupkan kembali setelah mengekspor file.