[SQLPlus](https://docs.Oracle.com/cd/B19306_01/server.102/b14357/qstart.htm) adalah alat interaktif yang dipasang di setiap instalasi Oracle modern. SQL Plus memungkinkan Anda untuk melampaui kueri database standar dengan kumpulan, skrip, dan kalkulasi di luar cakupan normal Oracle.
Bahkan mungkin, seperti yang akan kita jelajahi di bawah – untuk menghasilkan file teks, seperti .csv
, menggunakan output dari kueri basis data tertentu.
Meluncurkan SQL*Plus
Tergantung pada instalasi Oracle Anda, Anda mungkin memiliki akses ke salah satu dari banyak versi atau "mode" yang berbeda untuk menjalankan aplikasi SQL*Plus.
SQL*Plus Command-line
Jika Anda ingin menggunakan SQL*Plus Command-line
, Anda cukup mengeluarkan sqlplus
perintah dari shell Anda:
$ sqlplus
Ini akan mencoba menghubungkan Anda ke default database dan Anda akan diminta memasukkan kredensial untuk mengautentikasi diri Anda sendiri.
Jika Anda perlu terhubung ke database
yang berbeda atau gunakan user
yang berbeda (schema
), coba yang berikut ini, ganti nilai Anda sendiri seperlunya:
$ sqlplus schema@//machine.domain:port/database
iSQL*Plus
Jika Anda memiliki akses ke sana, Anda mungkin ingin menggunakan iSQL*Plus
, yang merupakan versi berbasis browser dari alat baris perintah SQL*Plus.
Hal ini dilakukan hanya dengan mengunjungi iSQL*Plus URL
untuk database dan instalasi Anda. URL persisnya akan bervariasi, tetapi biasanya dalam format berikut:http://machine_name.domain:port/isqlplus
SQL*Plus untuk Windows
Jika Anda menggunakan Windows, ada juga versi GUI Windows dari SQL*Plus, yang biasanya dapat diluncurkan dari menu mulai:Start > Programs > Oracle > Application Development > SQL Plus
.
Mengeluarkan Kueri ke file
Sekarang setelah Anda terhubung ke SQL*Plus, kami dapat mulai membuat file kami.
Ubah Konfigurasi SQL*Plus
Langkah pertama adalah mengkonfigurasi beberapa pengaturan sistem SQL*PLus menggunakan SET
pernyataan.
Untuk contoh ini, kami akan mengubah pengaturan ini secara manual satu kali sebelum kueri dan pembuatan file kami, tetapi jika diinginkan, Anda dapat mengubah default berbagai pengaturan di User Profile
Anda , terletak di login.sql
berkas.
set colsep ,
set headsep off
set pagesize 0
set trimspool on
Beberapa pengaturan pertama yang biasanya tidak ingin Anda ubah, tetapi kami akan menjelaskan secara singkat apa yang diselesaikan masing-masing.
colsep
adalah karakter pemisah yang digunakan untuk membagi kolom Anda. Untuk.csv
file, ini adalah koma sederhana.headsep
adalah karakter pemisah untuk baris header (jika Anda memerlukannya). Dalam contoh ini kita tidak mengeluarkan baris header, jadi kita biarkanoff
.pagesize
adalah jumlah baris “per halaman”. Ini adalah pengaturan yang agak kuno yang dimaksudkan untuk mencetak tanpa terlalu banyak baris per halaman. Dengan nilai0
, kami tidak menggunakan halaman karena kami mengeluarkan ke file. Jika Anda memilih untuk menampilkanheader
baris, aturpagesize
ke jumlah yang sangat besar (lebih besar dari jumlah hasil rekaman yang diharapkan dalam kueri), sehingga baris tajuk Anda hanya akan muncul satu kali, bukan sekali “per halaman”.trimspool
setel keon
cukup hapus spasi kosong.
Sekarang dua pengaturan terakhir perlu diubah tergantung pada kueri Anda.
set linesize #
set numwidth #
- Untuk
linesize
,#
value harus menjadi jumlah total kolom keluaran dalam kueri yang dihasilkan. numwidth
adalah lebar kolom (jumlah spasi karakter) yang digunakan saat mengeluarkan nilai numerik.
Perintah SPOOL
Catatan:SPOOL
perintah tidak tersedia dalam versi SQL*Plus berbasis browser, iSQL*Plus
. Untuk menghasilkan file saat menggunakan iSQL*Plus, ubah pengaturan preferensi yang diperlukan untuk langsung menghasilkan file.
Dengan pengaturan kami diurus, sekarang kami harus memberi tahu SQL*Plus untuk mengeluarkan file. Ini dilakukan dengan menggunakan SPOOL
pernyataan.
Sementara SPOOL
sedang aktif , SQL*PLus akan menyimpan output dari setiap kueri ke file yang ditentukan.
Oleh karena itu, perintah selanjutnya yang harus dimasukkan adalah spool
:
spool file_path
Melompat sedikit ke depan, setelah kueri Anda dimasukkan, Anda juga perlu menghentikan spool
jadi output file ditutup dengan menggunakan spool off
perintah:
spool off
Sisipkan Kueri
Langkah terakhir setelah pengaturan diubah dan spool
sedang berjalan adalah memasukkan kueri Anda. Untuk contoh sederhana kami, kami mengeluarkan semua buku dari books
kami tabel.
SELECT
title,
primary_author
FROM
books;
Jangan lupa tanda titik koma untuk menutup pernyataan kueri Anda, lalu masukkan spool off
yang disebutkan di atas perintah.
Itu saja, Anda telah membuat file teks baru dengan hasil kueri Anda menggunakan SQL*Plus.
Kiat:Menggunakan File Skrip
Daripada memasukkan setiap baris secara manual, disarankan untuk memasukkan semua pengaturan ke dalam file skrip baru yang dapat Anda jalankan di SQL*Plus dalam satu perintah.
Buat file skrip baru dengan EDIT
pernyataan:
EDIT file_name
Sekarang rekatkan seluruh daftar perintah skrip ke file baru Anda dan simpan. Isi lengkap dari contoh skrip kami dapat ditemukan di bawah ini.
set colsep ,
set headsep off
set pagesize 0
set trimspool on
set linesize 2
set numwidth 5
spool books.csv
SELECT
title,
primary_author
FROM
books;
spool off
Untuk menjalankan skrip, cukup gunakan @
simbol diikuti dengan nama file:
@file_name
Skrip Anda harus dieksekusi dan .csv
file dibuat seperti yang diharapkan.