Anda di halaman 1dari 27

SQL PLUS

SQL Plus dominasi Oracle di pasar database relasional dan karena kekuatan dan fleksibilitas SQL Plus
menawarkan kepada pengguna database. SQL Plus menyerupai Transact-SQL “-Transact SQL: Sebuah
Pengantar” dalam banyak hal. Kedua implementasi memenuhi standar ANSI SQL pada umumnya, yang masih
kerangka pelaksanaan apapun.

Perintah SQL Plus dapat meningkatkan sesi SQL dan meningkatkan format query dari database. SQL * Plus juga
dapat laporan format, seperti seorang penulis laporan khusus. SQL * Plus suplemen baik SQL standar dan PL /
SQL dan programmer database relasional membantu mengumpulkan data yang berada dalam format yang
diinginkan.

SQL Plus Buffer


SQL Plus adalah penyangga daerah yang menyimpan perintah yang secara khusus digunakan untuk sesi
tertentu SQL Anda. Perintah-perintah ini termasuk pernyataan SQL dijalankan baru-baru ini yang paling dan
perintah yang telah digunakan untuk menyesuaikan sesi SQL Anda, seperti format perintah dan tugas variabel.
buffer ini seperti memori jangka pendek. Berikut adalah beberapa perintah SQL buffer umum paling:

 line_number DAFTAR – Daftar garis dari pernyataan dalam buffer dan menunjuk sebagai baris.
 Ganti / old_value / new_value – Perubahan old_value untuk new_value pada baris
saat ini dalam buffer.
 APPEND teks – menambahkan teks ke baris saat ini dalam buffer.
 DEL – Menghapus baris saat ini dalam buffer.
 SAVE newfil e – Menyimpan pernyataan SQL dalam buffer ke sebuah file.
 GET nama file – Gets file SQL dan tempat ke dalam buffer.
 / – Melaksanakan perintah SQL dalam buffer.
Kita mulai dengan pernyataan SQL sederhana:

INPUT:
SQL> pilih *
2 dari produk
3 mana> unit_cost 25;

OUTPUT:
PRO PRODUCT_NAME UNIT_COST
--- ------------------------------ ---------
P01 MICKEY MOUSE LAMP 29,95
P06 REFERENSI SQL COMMAND 29,99
P07 tas KULIT HITAM 99,99

DAFTAR Perintah SQL dieksekusi daftar laporan baru-baru ini yang paling dalam buffer. Output hanya akan
ditampilkan laporan.
SQL> Daftar
1 pilih *
2 dari produk
3 * mana unit_cost> 25

ANALISIS:
Perhatikan bahwa setiap garis bernomor. nomor Line adalah penting dalam buffer, mereka bertindak sebagai
pointer yang memungkinkan Anda untuk mengubah baris tertentu dari laporan Anda menggunakan SQL PLUS
buffer. Buffer SQL * Plus adalah tidak editor layar penuh; setelah Anda tekan Enter, Anda tidak dapat
menggunakan kursor ke baris bergerak ke atas, seperti ditunjukkan dalam contoh berikut.

INPUT:
SQL> pilih *
2 dari produk
3 di mana 25> unit_cost
4 /
CATATAN: Seperti dengan perintah SQL, Anda dapat mengeluarkan
perintah SQL * Plus baik huruf atau huruf kecil.

Anda dapat pindah ke baris tertentu dari buffer dengan menempatkan nomor baris setelah l:

INPUT:
SQL> l3

3 * mana unit_cost> 25

ANALISIS:
Perhatikan bintang setelah jumlah baris 3. asterisk ini menunjukkan nomor baris. dekat Perhatikan penempatan
asterisk di itu contoh hari ini. Setiap kali garis ditandai dengan bintang, Anda dapat membuat perubahan pada
garis itu.

Karena Anda tahu bahwa Anda adalah baris 3, Anda bebas untuk membuat perubahan. Sintaks untuk
perintah Ganti adalah sebagai berikut:

Sintaks:
Ganti / old_value / new_value
atau
C / old_value / new_value

INPUT:
SQL> c /> / <

OUTPUT:
3 * mana unit_cost <25

INPUT:
SQL> l

OUTPUT:
1 pilih *
2 dari produk
3 * mana unit_cost <25

ANALISIS:
Tanda dari yang lebih besar (>) telah diubah menjadi kurang dari (<) pada baris 3. Perhatikan setelah
perubahan dibuat bahwa itu diubah garis baru ditampilkan. Jika Anda perintah DAFTAR ataul, Anda dapat
melihat laporan lengkap. Sekarang jalankan perintah berikut:

INPUT:
SQL> /

OUTPUT:
PRO UNIT_COST PRODUCT_NAME
--- ------------------------------ ---------
P02 NO 2 PENSIL - 20 PACK 1,99
P03 KOPI MUG 6,95
P04 FAR SIDE KALENDER 10,5
P05 ALAM KALENDER 12,99

ANALISIS:
Garis miring pada> SQL prompt menjalankan pernyataan yang ada di dalam buffer.
INPUT:
SQL> l

OUTPUT:
1 memilih *
Dari produk 2
3 * mana unit_cost <25
Sekarang, Anda dapat menambahkan baris ke pernyataan Anda dengan mengetikkan nomor baris baru
di SQL> prompt dan memasukkan teks. Setelah Anda membuat penambahan, mendapatkan daftar pernyataan
penuh. Berikut ini contohnya:

INPUT:
SQL> 4 order by unit_cost
SQL> 1

OUTPUT:
1 pilih *
2 dari produk
3 di mana 25 <unit_cost
4 * pesanan oleh unit_cost

ANALISIS:
Menghapus baris lebih mudah daripada menambahkan baris. Cukup ketik DEL 4 pada> SQLprompt untuk
menghapus garis 4. Sekarang daftar laporan lain untuk memverifikasi bahwa garis itu hilang.

INPUT:
SQL> DEL4
SQL> l

OUTPUT:
1 pilih *
2 dari produk
3 * mana unit_cost <25
Cara lain untuk menambahkan satu atau lebih baris pernyataan Anda adalah dengan menggunakan
perintah INPUT. Seperti yang dapat Anda lihat pada daftar sebelumnya, nomor baris saat ini adalah 3. Pada
jenis input prompt dan kemudian tekan Enter. Sekarang Anda dapat mulai mengetik teks. Setiap kali Anda
menekan Enter, baris lain akan dibuat. Jika Anda tekan Enter dua kali, Anda akan mendapatkan lagi>
SQLprompt. Sekarang jika Anda menampilkan daftar pernyataan, seperti pada contoh berikut, Anda dapat
melihat bahwa garis 4 telah ditambahkan.

INPUT:
> 4i input SQL dan product_id = 'P01' 5i SQL> l

OUTPUT:
1 pilih *
2 dari produk
3 di mana 25 <unit_cost
4 dan product_id = 'P01'
5 * pesanan oleh unit_cost
Untuk menambahkan teks ke baris saat ini, perintah APPEND diikuti oleh teks. Bandingkan output dalam contoh
sebelumnya – nomor baris saat ini adalah 5 – dengan contoh berikut.

INPUT:
SQL> desc append

OUTPUT:
5 * pesanan oleh unit_cost desc
Sekarang mendapatkan daftar lengkap dari pernyataan Anda:
INPUT:
SQL> l

OUTPUT:
1 pilih *
2 dari produk
3 di mana 25 <unit_cost
4 dan product_id = 'P01'
5 * pesanan oleh unit_cost desc
Misalkan Anda ingin menghapus bersih. Anda dapat menghapus isi dari buffer SQL * Plus dengan mengeluarkan
perintah CLEAR BUFFER. Seperti yang akan Anda lihat nanti, Anda juga dapat menggunakan
perintah CLEAR untuk menghapus pengaturan spesifik dari buffer, yaitu kolom informasi format dan menghitung
pada laporan.

INPUT:
SQL> buffer jelas

OUTPUT:
buffer dibersihkan

INPUT:
SQL> Aku

OUTPUT:
Tidak ada baris dalam buffer SQL.

ANALISIS:
Jelas, Anda tidak akan dapat mengambil apa pun dari buffer kosong. Anda tidak menguasai, tapi Anda harus
dapat melakukan manuver dengan mudah dengan memanipulasi perintah Anda dalam buffer.

Para DESCRIBE Command


Perintah DESCRIBE berguna memungkinkan Anda untuk melihat struktur tabel dengan cepat tanpa harus
membuat permintaan terhadap data kamus.

Sintaks:
DESC [Ribe] table_name
Lihatlah dua tabel yang akan Anda gunakan sepanjang hari.

INPUT:
SQL> menggambarkan perintah

OUTPUT:
Nama Null? Jenis
------------------------------- -------- ----
ORDER_NUM TIDAK NULL NUMBER (2)
PELANGGAN NOT NULL VARCHAR2 (30)
PRODUCT_ID NOT NULL CHAR (3)
PRODUCT_QTY TIDAK NULL NUMBER (5)
DELIVERY_DATE DATE
Pernyataan berikut menggunakan singkatan bukan DESCRIBE DESC:

INPUT:
SQL> desc produk
OUTPUT:
Nama Null? Jenis
------------------------------- -------- ----
PRODUCT_ID NOT NULL VARCHAR2 (3)
PRODUCT_NAME NOT NULL VARCHAR2 (30)
UNIT_COST TIDAK NULL NUMBER (8,2)

ANALISIS:
DESC menampilkan setiap nama kolom, yang kolom harus berisi data (NULL / NULL TIDAK),dan jenis data
untuk setiap kolom. Jika Anda menulis banyak permintaan, Anda akan menemukan bahwa beberapa hari berlalu
tanpa menggunakan perintah ini. Selama waktu yang lama, perintah ini dapat menghemat waktu berjam-jam
pemrograman. Tanpa DESCRIBE Anda harus mencari dokumentasi proyek atau bahkan manual database yang
berisi daftar data tabel kamus untuk mendapatkan informasi ini.

Perintah SHOW
Menampilkan perintah SHOW's saat ini pengaturan sesi, dari format perintah untuk siapa Anda SEMUA.
SHOW menampilkan semua pengaturan. Diskusi ini mencakup beberapa pengaturan yang paling umum.

INPUT:
SQL> tampilkan semua

OUTPUT:
appinfo ON dan set ke "SQL * Plus"
arraysize 15
autocommit OFF
autoprint OFF
autotrace OFF
blockterminator "." (Hex 2e)
btitle OFF dan beberapa karakter 1 dari SELECT pernyataan berikutnya
closecursor OFF
colsep ""
cmdsep OFF
kompatibilitas versi asli
penggabungan strings "." (Hex 2e)
copycommit 0
copytypecheck ON
crt ""
define "&" (hex 26)
echo OFF
editfile "afiedt.buf"
tertanam OFF
melarikan diri OFF
ON umpan balik untuk 6 atau lebih baris
flagger OFF
ON siram
pos ON
headsep "|" (hex 7c)
linesize 100
lno 6
panjang 80
longchunksize 80
maxdata 60.000
newpage 1
null ""
numformat ""
numwidth 9
PageSize 24
jeda MATI
pno 1
recsep Wrap
recsepchar "" (hex 20)
rilis 703020200
repheader OFF dan adalah NULL
repfooter OFF dan adalah NULL
serveroutput OFF
showmode OFF
spul OFF
sqlcase CAMPURAN
sqlcode 1007
sqlcontinue ">"
sqlnumber ON
sqlprefix "#" (hex 23)
sqlprompt "SQL>"
sqlterminator ";" (hex 3b)
akhiran "SQL"
tab ON
termout ON
waktu OFF
waktu OFF
trimout ON
trimspool OFF
ttitle OFF dan beberapa karakter 1 dari SELECT pernyataan berikutnya
menggarisbawahi "-" (hex 2d)
pengguna adalah "Ryan"
memverifikasi ON
wrap: baris akan dibungkus

Perintah SHOW menampilkan pengaturan tertentu dimasukkan oleh pengguna. Misalnya, Anda memiliki akses ke
beberapa database user ID dan Anda ingin melihat bagaimana Anda logon. Anda dapat mengeluarkan perintah
berikut:

INPUT:
SQL> user,

OUTPUT:
pengguna adalah "Ryan"
Untuk melihat ukuran output baris saat ini, Anda akan ketik:

INPUT:
SQL> show linesize

OUTPUT:
linesize 100

Perintah file
Berbagai perintah memungkinkan Anda untuk memanipulasi file di SQL * Plus. Perintah-perintah ini termasuk
membuat file, mengedit file menggunakan layar editor penuh sebagai lawan menggunakan buffer SQL * Plus,
dan mengarahkan output ke sebuah file. Anda juga perlu mengetahui cara untuk menjalankan file SQL setelah
dibuat.

Para SAVE, GET, dan EDIT Perintah


Perintah SAVE menyimpan isi dari pernyataan SQL dalam buffer ke sebuah file yang namanya Anda
tentukan. Sebagai contoh:

INPUT:
SQL> pilih *
2 dari produk
3 di mana 25 <unit_cost
SQL> menyimpan query1.sql

OUTPUT:
Dibuat file query1.sql

ANALISIS:
Setelah file telah disimpan, Anda dapat menggunakan perintah GET ke daftar file. GETsangat mirip dengan
perintah LIST. Hanya ingat bahwa GET berkaitan dengan laporan yang telah disimpan ke file, sedangkan
transaksi DAFTAR dengan pernyataan yang disimpan dalam buffer.

INPUT:
SQL> mendapatkan query1

OUTPUT:
1 pilih *
2 dari produk
3 * mana unit_cost <25
Anda dapat menggunakan perintah EDIT baik untuk membuat file baru atau untuk mengedit file yang
ada. Ketika mengeluarkan perintah ini, Anda akan dibawa ke sebuah layar editor penuh, mungkin lebih dari
Notepad di Windows. Anda akan menemukan bahwa biasanya lebih mudah untuk memodifikasi file
dengan EDIT selain melalui buffer, terutama jika Anda sedang berurusan dengan pernyataan atau kompleks
besar. Gambar 20,1 menunjukkan contoh dari perintah EDIT.

INPUT:
SQL> edit query1.sql
Mengedit file di SQL * Plus.

Memulai sebuah File


Sekarang Anda tahu cara membuat dan mengedit file SQL, perintah untuk menjalankannya sederhana. Hal ini
dapat mengambil salah satu dari bentuk sebagai berikut:

Sintaks:
MULAI Nama berkas
atau

STA nama file


atau

@ Nama file

INPUT:
SQL> mulai query1.sql

OUTPUT:
PRO PRODUCT_NAME UNIT_COST
--- ------------------------------ ---------
P02 NO 2 PENSIL - 20 PACK 1,99
P03 KOPI MUG 6,95
P04 FAR SIDE KALENDER 10,5
P05 ALAM KALENDER 12,99

CATATAN: Anda tidak perlu untuk menentukan ekstensi file Plus.


Sql untuk memulai file dari SQL *. Database mengasumsikan bahwa file
yang Anda telah melaksanakan ekstensi ini. Demikian pula, jika Anda
membuat file dari> SQL prompt atau menggunakan SAVE,
GET, atau EDIT, Anda tidak perlu menyertakan ekstensi jika. Sql.
INPUT:
SQL> @ query1

OUTPUT:
PRO PRODUCT_NAME UNIT_COST --- ------------------------------ ---------
P02 NO 2 PENSIL - 20 PACK 1,99 6,95 MUG KOPI P03 P04 FAR SIDE KALENDER 10,5
P05 KALENDER SIFAT 12,99

INPUT:
SQL> jalankan query1

OUTPUT:
1 pilih *
2 dari produk
3 * mana unit_cost <25

PRO PRODUCT_NAME UNIT_COST


--- ------------------------------ ---------
P02 NO 2 PENSIL - 20 PACK 1,99
P03 KOPI MUG 6,95
P04 FAR SIDE KALENDER 10,5
P05 ALAM KALENDER 12,99

Perhatikan bahwa ketika Anda menggunakan RUN untuk mengeksekusi query, pernyataan tersebut menggema,
atau ditampilkan pada layar.

Permintaan spooling Output


Melihat hasil kueri Anda di layar sangat mudah, tetapi bagaimana jika Anda ingin menyimpan hasil untuk
referensi di kemudian hari atau Anda ingin mencetak file? Perintah spool memungkinkan Anda untuk mengirim
output ke file yang ditentukan. Jika file tersebut tidak ada, maka akan dibuat. Jika file ada, maka akan ditimpa,
seperti yang ditunjukkan pada Gambar 20,2.

INPUT:
SQL> spool prod.lst
SQL> pilih *
2 dari produk;

OUTPUT:
PRO PRODUCT_NAME UNIT_COST
--- ------------------------------ ---------
P01 MICKEY MOUSE LAMP 29,95
P02 NO 2 PENSIL - 20 PACK 1,99
P03 KOPI MUG 6,95
P04 FAR SIDE KALENDER 10,5
P05 ALAM KALENDER 12,99
P06 REFERENSI SQL COMMAND 29,99
P07 tas KULIT HITAM 99,99

7 baris yang dipilih.

INPUT:
SQL> spool off
SQL> edit prod.lst

ANALISIS:
Output pada Gambar 20,2 adalah SQL * Plus file. Anda harus menggunakan perintah MATI spool untuk
menghentikan spooling ke sebuah file. Ketika Anda keluar dari SQL * Plus, spool MATIotomatis. Tapi jika
Anda tidak keluar dan Anda terus bekerja di SQL * Plus, segala sesuatu yang Anda lakukan akan spooled ke file
Anda sampai Anda mengeluarkan perintah spool OFF.
SET Perintah
SET perintah dalam perubahan Oracle SQL * Plus pengaturan sesi. Dengan menggunakan perintah ini, Anda
dapat menyesuaikan lingkungan kerja SQL dan aktifkan opsi untuk membuat hasil output Anda lebih rapi. Anda
dapat mengendalikan banyak dari perintah SET dengan memutar pilihan atau menonaktifkan.
Untuk melihat bagaimana SET perintah bekerja, melakukan pilih sederhana:

INPUT:
SQL> pilih *
2 dari produk;

OUTPUT:
PRO PRODUCT_NAME UNIT_COST
--- ------------------------------ ---------
P01 MICKEY MOUSE LAMP 29,95
P02 NO 2 PENCILS - 20 PACK 1,99
P03 KOPI MUG 6,95
P04 FAR SIDE 10,5 KALENDER
P05 ALAM KALENDER 12,99
P06 REFERENSI SQL COMMAND 29,99
P07 tas KULIT HITAM 99,99

7 baris yang dipilih.

ANALISIS:
Baris terakhir output

7 baris yang dipilih.


disebut umpan balik, yang merupakan pengaturan SQL yang dapat dimodifikasi. Pengaturan ini default, dan
dalam hal ini default untuk KOMENTAR aktif. Jika Anda ingin, Anda bisa mengetik
KOMENTAR SET ON
sebelum mengeluarkan pernyataan Anda pilih. Sekarang anggaplah bahwa Anda tidak ingin melihat umpan
balik, seperti yang terjadi untuk kasus dengan beberapa laporan, terutama laporan diringkas dengan
perhitungan.

INPUT:
SQL> set feedback off
SQL> pilih *
2 dari produk;

OUTPUT:
PRO PRODUCT_NAME UNIT_COST
--- ------------------------------ ---------
P01 MICKEY MOUSE LAMP 29,95
P02 NO 2 PENSIL - 20 PACK 1,99
P03 KOPI MUG 6,95
P04 FAR SIDE KALENDER 10,5
P05 ALAM KALENDER 12,99
P06 REFERENSI SQL COMMAND 29,99
P07 tas KULIT HITAM 99,99

ANALISIS:
KOMENTAR SET OFF mematikan umpan balik layar.
Dalam beberapa kasus, Anda mungkin ingin menekan judul kolom dari yang ditampilkan di laporan. Pengaturan
ini disebut pos, yang juga dapat diatur ON atau OFF.

INPUT:
SQL> set berangkat
SQL> /
OUTPUT:
P01 MICKEY MOUSE LAMP 29,95
P02 NO 2 PENSIL - 20 PACK 1,99
P03 KOPI MUG 6,95
P04 FAR SIDE KALENDER 10,5
P05 ALAM KALENDER 12,99
P06 REFERENSI SQL COMMAND 29,99
P07 tas KULIT HITAM 99,99

ANALISIS:
Judul kolom telah dieliminasi dari output. Hanya data yang sebenarnya akan ditampilkan.

Anda dapat mengubah beragam pengaturan untuk memanipulasi bagaimana output ditampilkan. Salah satu
pilihan, LINESIZE, memungkinkan Anda untuk menentukan panjang setiap baris output Anda. Sebuah ukuran
yang kecil akan lebih besar kemungkinan menyebabkan output Anda untuk membungkus; meningkatkan ukuran
garis mungkin diperlukan untuk menekan pembungkus dari garis yang melebihi 80 karakter default. Kecuali Anda
menggunakan komputer kertas lebar (11 x 14), Anda mungkin ingin mencetak lansekap laporan Anda jika Anda
menggunakan ukuran garis lebih besar dari 80. Contoh berikut menunjukkan penggunaan LINESIZE.

INPUT:
SQL> set linesize 40
SQL> /

OUTPUT:
P01 MICKEY MOUSE LAMP
29,95

P02 NO 2 PENSIL - 20 PACK


1,99

P03 KOPI MUG


6,95

P04 FAR SIDE KALENDER


10,5

P05 ALAM KALENDER


12,99

P06 Perintah SQL REFERENSI


29,99

P07 KULIT koper hitam

99,99

Anda juga dapat menyesuaikan ukuran setiap halaman output Anda dengan
menggunakan PageSize pengaturan. Jika Anda hanya melihat output di layar, pengaturan yang terbaik
untuk PageSizeadalah 23, yang menghilangkan istirahat beberapa halaman per layar. Dalam contoh
berikut PageSize disetel ke nomor rendah untuk menunjukkan apa yang akan terjadi pada setiap merusak
halaman.

INPUT:
SQL> set linesize 80
SQL> set pos pada
SQL> set PageSize 7
SQL> /
OUTPUT:
PRO PRODUCT_NAME UNIT_COST
- ------------------------------ --------
P01 MICKEY MOUSE LAMP 29,95
P02 NO 2 PENSIL - 20 PACK 1,99
P03 KOPI MUG 6,95
P04 FAR SIDE KALENDER 10,5

PRO PRODUCT_NAME UNIT_COST


- ------------------------------ --------
P05 ALAM KALENDER 12,99
P06 REFERENSI SQL COMMAND 29,99
P07 tas KULIT HITAM 99,99

ANALISIS:
Menggunakan pengaturan PageSize 7, jumlah baris maksimum yang mungkin muncul pada satu halaman
tujuh. judul kolom baru akan mencetak otomatis pada awal masing-masing halaman baru.
The TIME pengaturan menampilkan waktu saat ini sebagai bagian dari Anda SQL> prompt.

INPUT:
SQL> set waktu

OUTPUT:
08:52:02 SQL>

Ini hanya beberapa pilihan SET, tetapi mereka semua pada dasarnya dimanipulasi dengan cara yang
sama. Seperti yang Anda lihat dari daftar perintah SET luas dalam output sebelumnya dari laporan SEMUA
SHOW, Anda memiliki banyak pilihan ketika Anda menyesuaikan sesi SQL * Plus. Percobaan dengan opsi
masing-masing dan melihat apa yang paling Anda sukai. Anda mungkin akan menjaga default untuk banyak
pilihan, tetapi Anda mungkin menemukan diri Anda sering mengubah pilihan lainnya berdasarkan skenario yang
berbeda.

LOGIN.SQL File
Bila Anda log out dari SQL Plus, semua pengaturan sesi Anda akan dihapus. Ketika Anda masuk kembali,
pengaturan Anda harus reinitialized jika mereka tidak default kecuali Anda menggunakan file login.sql. File
ini secara otomatis dijalankan ketika Anda mendaftar ke SQL Plus. Inisialisasi file ini mirip dengan
file autoexec.bat pada PC Anda atau Anda. Profildi lingkungan Korn Shell UNIX.
Dalam pribadi Oracle7 Anda dapat menggunakan perintah EDIT untuk membuat file Login.sql, seperti
yang ditunjukkan pada Gambar 20,3.

Anda Login.sql file.


Ketika Anda logon ke SQL * Plus, di sini adalah apa yang Anda akan melihat:

SQL * Plus: Release 3.3.2.0.2 - Produksi pada Minggu 11 Mei 20:37:58 1997

Copyright (c) 1979 Oracle Corporation, 1994. All rights reserved.

Masukkan password: ****

Hubungkan ke:
Pribadi Oracle7 Release 7.3.2.2.0 - Release Produksi
Dengan didistribusikan dan pilihan replikasi
PL SQL Release / 2.3.2.0.0 - Produksi

'HELLO!
-------
HELLO!

20:38:02 SQL>
CLEAR Command
Di SQL * Plus, pengaturan dihapus oleh log off, atau keluar dari SQL * Plus. Beberapa pengaturan Anda juga
dapat dibersihkan dengan menggunakan perintah CLEAR, seperti ditunjukkan pada contoh berikut.

INPUT:
SQL> col jelas

OUTPUT:
kolom dibersihkan

INPUT:
SQL> menyingsing

OUTPUT:
istirahat dibersihkan

INPUT:
SQL> jelas menghitung

OUTPUT:
menghitung dibersihkan

Memformat Output Anda


SQL Plus juga memiliki perintah yang memungkinkan Anda untuk mengatur output di hampir format
apapun. Bagian ini mencakup perintah format dasar untuk judul laporan, judul kolom dan format, dan
memberikan kolom nilai baru “.”

TTITLE dan BTITLE


TTITLE dan BTITLE memungkinkan Anda untuk membuat judul pada laporan output. Sebelumnya hari
meliputi permintaan dan, tapi dengan SQL * Plus Anda dapat mengkonversi output sederhana menjadi laporan
rapi. Perintah TTITLE tempat judul di bagian atas setiap halaman output atau laporan. BTITLE tempat judul di
bagian bawah setiap halaman laporan Anda. Banyak pilihan yang tersedia dengan masing-masing perintah,
tetapi itu presentasi hari ini mencakup esensi. Berikut adalah sintaks dasar TTITLE dan BTITLE:

Sintaks:
TTITLE [| kiri tengah |] kanan 'teks' [&] variabel [skip] n
BTITLE [| kiri tengah |] kanan 'teks' [&] variabel [skip] n

INPUT:
ttitle 'A DAFTAR SQL> PRODUK'
SQL btitle> 'YANG SEMUA'
SQL> set PageSize 15
SQL> /

OUTPUT:
Wed 7 Mei
halaman 1
Sebuah DAFTAR PRODUK

PRO PRODUCT_NAME UNIT_COST


- ------------------------------ ---------
P01 MICKEY MOUSE LAMP 29,95
P02 NO 2 PENSIL - 20 PACK 1,99
P03 KOPI MUG 6,95
P04 FAR SIDE KALENDER 10,5
P05 ALAM KALENDER 12,99
P06 REFERENSI SQL COMMAND 29,99
P07 tas KULIT HITAM 99,99
YANG SEMUA

7 baris yang dipilih.

ANALISIS:
Judul muncul di bagian atas halaman dan di bagian bawah. Banyak orang menggunakan judul bawah untuk blok
tanda tangan untuk memverifikasi atau membuat perubahan terhadap data pada laporan tersebut,. Juga di judul
atas tanggal dan nomor halaman adalah bagian dari judul.

Memformat Kolom (KOLOM, pos, FORMAT)


Memformat kolom mengacu pada kolom yang akan ditampilkan atau kolom yang terdaftar
setelah SELECT dalam pernyataan SQL. The KOLOM, menuju, dan perintah FORMAT judul kolom
mengubah nama dan mengontrol cara data muncul dalam laporan.
The COL [UMN] perintah biasanya digunakan dengan baik perintah pos atau perintah FORMAT.
KOLOM mendefinisikan kolom yang ingin Anda format. Kolom yang Anda mendefinisikan harus muncul persis
seperti yang diketik dalam pernyataan SELECT. Anda dapat menggunakan kolom alias bukan nama kolom
penuh untuk mengidentifikasi kolom dengan perintah ini.
Bila menggunakan perintah pos, Anda harus menggunakan perintah KOLOM untuk mengidentifikasi kolom
yang menempatkan pos.
Bila menggunakan perintah FORMAT, Anda harus menggunakan perintah KOLOM untuk mengidentifikasi kolom
yang ingin Anda format.
Sintaks dasar untuk menggunakan ketiga perintah berikut. Perhatikan bahwa judul dan
perintah FORMAT adalah opsional. Dalam sintaks FORMAT, Anda harus menggunakan jikadata memiliki
format karakter atau menggunakan 0 s dan 9 s untuk menentukan data jenis nomor. Desimal juga dapat
digunakan dengan nilai numerik. Nomor di sebelah kanan adalah lebar total yang Anda ingin membolehkan
untuk kolom tertentu.

Sintaks:
COL [UMN] column_name HEA [Ding] "new_heading" UNTUK [MAT] [a1 | 99,99]
Pernyataan SELECT sederhana yang berikut menunjukkan format kolom. Kolom ditetapkan adalah tipe
data NUMBER, dan kami ingin menampilkan jumlah dalam format desimal dengan tanda dolar.

INPUT:
SQL> unit_cost kolom judul "HARGA" Format $ 99,99
SQL> PRODUCT_NAME pilih, unit_cost
2 dari produk;

OUTPUT:
HARGA PRODUCT_NAME
------------------------------ -------
MICKEY MOUSE LAMP $ 29,95
NO 2 PENSIL - 20 PACK 1,99 $
KOPI MUG $ 6,95
FAR SIDE KALENDER $ 10,50
ALAM KALENDER $ 12,99
Perintah SQL REFERENSI $ 29,99
KULIT HITAM tas $ 99,99

7 baris yang dipilih.

ANALISIS:
Karena kita menggunakan format 99,99, jumlah maksimal yang akan ditampilkan adalah 99,99.
Sekarang coba menyingkat perintah. Berikut perintah sesuatu yang rapi dapat Anda lakukan
dengan memimpin:

INPUT:
SQL> HEA unit_cost pelana "UNIT | BIAYA" untuk $ 09,99
SQL> PRODUCT_NAME pilih, unit_cost
2 dari produk;
OUTPUT:
PRODUCT_NAME UNIT BIAYA
---------------------------- ---------
MICKEY MOUSE LAMP $ 29,95
NO 2 PENSIL - 20 PACK $ 01,99
KOPI MUG $ 06,95
FAR SIDE KALENDER $ 10,50
ALAM KALENDER $ 12,99
Perintah SQL REFERENSI $ 29,99
Briefcase KULIT HITAM $ 99,99

7 baris yang dipilih.

ANALISIS:
Tanda pipa (|) di pos komando pasukan teks berikut dari kolom pos yang akan dicetak pada baris
berikutnya. Anda dapat menggunakan tanda-tanda beberapa pipa. Teknik ini berguna bila lebar laporan Anda
mulai untuk menekan batas dari garis ukuran maksimum yang tersedia. Format kolom biaya unit
sekarang 09,99. Jumlah maksimum yang ditampilkan masih 99,99, tapi sekarang seorang 0 akan
mendahului semua bilangan kurang dari 10. Anda dapat memilih format ini karena membuat jumlah dolar
tampak seragam.

Laporan dan Ringkasan Grup


Apa yang akan melaporkan tanpa ringkasan dan perhitungan? Katakan saja bahwa Anda akan memiliki satu
programmer frustrasi. perintah tertentu dalam SQL * Plus memungkinkan Anda untuk membagi laporan Anda ke
dalam satu atau lebih jenis kelompok dan melakukan ringkasan atau perhitungan pada setiap
kelompok. BREAK adalah sedikit berbeda dari standar kelompok fungsi SQL, seperti COUNT () dan SUM
(). Fungsi ini digunakan dengan laporan dan ringkasan kelompok untuk menyediakan laporan yang lebih
lengkap.

BREAK ON
The BREAK ON istirahat kembali perintah baris data dari pernyataan SQL ke dalam satu atau lebih
kelompok. Jika Anda istirahat pada nama pelanggan, maka secara default nama pelanggan akan dicetak hanya
pertama kalinya ia kembali dan dibiarkan kosong dengan masing-masing baris data dengan nama yang
sesuai. Berikut adalah sintaks dasar sangat dari BREAK ON perintah:

Sintaks:
Bre [AK] [ON ON column1 column2 ...][ n SKIP | PAGE] [GKG | NODUP]
Anda juga bisa pecah pada LAPORAN dan ROW. Breaking di LAPORAN melakukan perhitungan pada laporan
secara keseluruhan, sedangkan melanggar ROW melakukan perhitungan pada setiap kelompok baris.
Opsi SKIP memungkinkan Anda untuk melewatkan beberapa baris atau halaman pada setiap kelompok
atau. GKG NODUP menunjukkan apakah Anda ingin duplikat yang akan dicetak dalam setiap kelompok. Default-
nya adalah NODUP.
Ini adalah suatu contoh:

INPUT:
SQL> col unit_cost kepala 'UNIT | BIAYA' untuk $ 09,99
SQL> break pada pelanggan
SQL> o.customer pilih, p.product_name, p.unit_cost
2 dari perintah o,
3 produk p
4 mana o.product_id = p.product_id
5 pesanan oleh pelanggan;

OUTPUT:
PRODUCT_NAME PELANGGAN UNIT BIAYA ------------------------------ ---------
------- ------------ --------- JONES dan SONS LAMP MICKEY MOUSE $ 29,95 NO
2 PENSIL - 20 PACK $ 01,99 CONSULTING GROUP KOPI MUG $ 06,95 Parkit LAMP
MICKEY MOUSE $ 29,95 NO 2 PENSIL - 20 PACK $ 01,99 SQL COMMAND REFERENSI $
29,99 HITAM KULIT Briefcase $ 99,99 FAR SIDE KALENDER $ 10,50 PLEWSKY
MOBILE pencucian MICKEY MOUSE LAMP $ 29,95 HITAM KULIT Briefcase $ 99,99
HITAM KULIT Briefcase $ 99,99 NO 2 PENSIL - 20 PACK $ 01,99 NO 2 PENSIL -
20 PACK $ 01,99 13 baris yang dipilih.

Setiap pelanggan unik adalah dicetak hanya sekali. Laporan ini lebih mudah untuk membaca dari satu di mana
duplikat nama pelanggan dicetak. Anda harus memesan hasil Anda dalam urutan yang sama seperti kolom (s)
yang Anda melanggar untuk perintah BREAK untuk bekerja.

Menghitung
Perintah menghitung digunakan dengan BREAK ON perintah. Hitunglah memungkinkan Anda untuk
melakukan berbagai perhitungan pada setiap kelompok data dan / atau laporan keseluruhan.

Sintaks:
COMP [UTE] fungsi OF column_or_alias ON column_or_row_or_report
Beberapa fungsi yang lebih populer adalah

 AVG – Menghitung nilai rata-rata pada setiap kelompok.


 COUNT – Menghitung hitungan nilai pada masing-masing kelompok.
 SUM – Menghitung jumlah nilai pada masing-masing kelompok.
Misalkan Anda ingin membuat laporan yang berisi daftar informasi dari tabel PRODUK dan menghitung biaya
produk rata-rata pada laporan tersebut.

INPUT:
SQL> break pada laporan
SQL> menghitung rata-rata dari unit_cost dalam laporan
SQL> pilih *
2 dari produk;

OUTPUT:
PRO PRODUCT_NAME UNIT_COST
--- ------------------------------ ---------
P01 MICKEY MOUSE LAMP 29,95
P02 NO 2 PENSIL - 20 PACK 1,99
P03 KOPI MUG 6,95
P04 FAR SIDE KALENDER 10,50
P05 ALAM KALENDER 12,99
P06 REFERENSI SQL COMMAND 29,99
P07 tas KULIT HITAM 99,99
---------
avg 27,48

ANALISIS:
Anda dapat memperoleh informasi yang Anda inginkan dengan memecah di REPORT dan kemudian
menghitung rata-rata dari unit_cost di REPORT.
Ingat perintah CLEAR? Sekarang menghapus menghitung terakhir dari buffer dan mulai lagi – tapi kali ini Anda
ingin menghitung jumlah uang yang dikeluarkan oleh pelanggan masing-masing. Karena Anda tidak ingin melihat
rata-rata lagi, Anda juga harus membersihkan menghitung.

INPUT:
SQL> clear compute

OUTPUT:
computes cleared
Sekarang menghapus BREAK terakhir. (Anda tidak benar-benar harus jelas BREAK dalam kasus ini karena
Anda masih berniat untuk istirahat pada laporan.)

INPUT:
SQL> clear break
OUTPUT:
breaks cleared
Langkah selanjutnya adalah memasuki kembali istirahat dan menghitung cara Anda ingin mereka
sekarang. Anda juga harus memformat ulang unit_cost kolom untuk mengakomodasi jumlah yang lebih besar
karena Anda komputasi suatu jumlah unit_cost pada laporan tersebut.Anda perlu mengizinkan ruang untuk
jumlah besar yang menggunakan format yang sama seperti kolom pada yang sedang berpikir. Jadi, Anda perlu
menambahkan tempat lain di sebelah kiri desimal.

INPUT:
SQL> col unit_cost hea 'UNIT|COST' for $099.99
SQL> break on report on customer skip 1
SQL> compute sum of unit_cost on customer
SQL> compute sum of unit_cost on report
Now list the last SQL statement from the buffer.

INPUT:
SQL> l

OUTPUT:
1 select o.customer, p.product_name, p.unit_cost
2 from orders o,
3 products p
4 where o.product_id = p.product_id
5* order by customer

ANALISIS:
Now that you have verified that this statement is the one you want, you can execute it:

INPUT:
SQL> /

OUTPUT:
UNIT
CUSTOMER PRODUCT_NAME COST
------------------------------ ------------------------------ --------
JONES and SONS MICKEY MOUSE LAMP $029.95
NO 2 PENCILS - 20 PACK $001.99
COFFEE MUG $006.95
****************************** --------
sum $038.89

PARAKEET CONSULTING GROUP MICKEY MOUSE LAMP $029.95


NO 2 PENCILS - 20 PACK $001.99
SQL COMMAND REFERENCE $029.99
BLACK LEATHER BRIEFCASE $099.99
FAR SIDE CALENDAR $010.50
****************************** --------
sum $172.42

PLEWSKY MOBILE CARWASH MICKEY MOUSE LAMP $029.95


BLACK LEATHER BRIEFCASE $099.99
BLACK LEATHER BRIEFCASE $099.99
NO 2 PENCILS - 20 PACK $001.99
NO 2 PENCILS - 20 PACK $001.99
****************************** --------

UNIT
CUSTOMER PRODUCT_NAME COST
----------------------------- ------------------------------ --------
sum $233.91
--------
sum $445.22

13 rows selected.

ANALISIS:
Contoh ini dihitung jumlah total yang dibelanjakan setiap pelanggan dan juga menghitung jumlah besar untuk
semua pelanggan. Dengan sekarang Anda harus memahami dasar-dasar format kolom pengelo

Using Variables in SQL Plus


Tanpa benar-benar mendapatkan ke bahasa prosedural, Anda masih dapat mendefinisikan variabel dalam
pernyataan SQL Anda. Anda dapat menggunakan opsi khusus di SQL * Plus (tercakup dalam bagian ini) untuk
menerima masukan dari pengguna untuk melewati parameter ke dalam program SQL Anda.

Substitusi Variabel (&)


Ampersand (&) adalah karakter yang membutuhkan nilai untuk suatu variabel dalam suatu skrip SQL. Jika
variabel tidak didefinisikan sebelumnya, pengguna akan diminta untuk memasukkan nilai.

INPUT:
SQL> pilih *
2 dari & Tbl
3 /

Masukkan nilai untuk Tbl: produk

Pengguna memasukkan nilai "produk."

OUTPUT:
tua 2: dari & Tbl
baru 2: dari produk

PRO PRODUCT_NAME UNIT_COST


--- ------------------------------ ---------
P01 MICKEY MOUSE LAMP 29,95
P02 NO 2 PENSIL - 20 PACK 1,99
P03 KOPI MUG 6,95
P04 FAR SIDE KALENDER 10,5
P05 ALAM KALENDER 12,99
P06 REFERENSI SQL COMMAND 29,99
P07 tas KULIT HITAM 99,99

7 baris yang dipilih.

ANALISIS:
Nilai Produk ini diganti di tempat & Tbl dalam query interaktif “.”

DEFINE
Anda dapat menggunakan DEFINE untuk menempatkan nilai ke variabel dalam sebuah file skrip SQL. Jika anda
mendefinisikan variabel Anda dalam script, pengguna tidak diminta untuk memasukkan nilai variabel saat
runtime, karena mereka adalah jika Anda menggunakan &. Isu contoh berikut pernyataan SELECT yang sama
seperti contoh sebelumnya, tetapi kali ini nilai Tbldidefinisikan dalam script.

INPUT:
SQL> define Tbl produk =
SQL> pilih *
2 dari &TBL;
OUTPUT:
tua 2: dari & Tbl
baru 2: dari produk

PRO PRODUCT_NAME UNIT_COST


--- ------------------------------ ---------
P01 MICKEY MOUSE LAMP 29,95
P02 NO 2 PENSIL - 20 PACK 1,99
P03 KOPI MUG 6,95
P04 FAR SIDE KALENDER 10,5
P05 ALAM KALENDER 12,99
P06 REFERENSI SQL COMMAND 29,99
P07 tas KULIT HITAM 99,99

7 baris yang dipilih.

ANALISIS:
Kedua permintaan mencapai hasil yang sama. Bagian selanjutnya menjelaskan cara lain untuk meminta
pengguna untuk parameter script.

MENERIMA
MENERIMA memungkinkan pengguna untuk memasukkan nilai untuk mengisi variabel pada script
runtime. MENERIMA melakukan hal yang sama dengan & tanpa DEFINE tetapi sedikit lebih
terkontrol. MENERIMA juga memungkinkan Anda untuk menerbitkan user-friendly prompt.
Contoh berikutnya mulai dengan mengosongkan buffer tersebut:

INPUT:
SQL> buffer jelas

OUTPUT:
buffer dibersihkan
Kemudian menggunakan perintah INPUT untuk memasukkan pernyataan SQL baru ke dalam buffer. Jika Anda
mulai mengetik laporan Anda tanpa mengeluarkan perintah INPUTpertama, Anda akan diminta untuk
memasukkan nilai untuk newtitle pertama. Atau, Anda bisa pergi langsung ke sebuah file baru dan menulis
pernyataan Anda.

INPUT:
SQL> input
1 menerima newtitle prompt 'Masukkan Judul untuk Laporan:'
2 pusat newtitle ttitle
3 pilih *
4 dari produk
5
SQL> menyimpan prod

OUTPUT:
File "prod.sql" sudah ada.
Gunakan nama lain atau "REPLACE nama file SAVE".

ANALISIS:
Whoops … prod.sql file yang sudah ada. Mari kita katakan bahwa Anda membutuhkan prod.sql lama dan
tidak peduli dengan menimpa itu. Anda harus menggunakan mengganti opsi untuk menyimpan pernyataan
dalam buffer untuk prod.sql.Perhatikan penggunaan PROMPT dalam laporan
sebelumnya. PROMPT menampilkan teks ke layar yang memberitahu pengguna persis apa yang harus masuk.

INPUT:
SQL> save prod menggantikan
OUTPUT:
Menulis file prod
Sekarang Anda dapat menggunakan perintah START untuk mengeksekusi file.

INPUT:
SQL mulai> prod

Masukkan Judul untuk Laporan: A DAFTAR PRODUK

OUTPUT:
Sebuah DAFTAR PRODUK

PRO PRODUCT_NAME UNIT_COST


--- ------------------------------ ---------
P01 MICKEY MOUSE LAMP 29,95
P02 NO 2 PENSIL - 20 PACK 1,99
P03 KOPI MUG 6,95
P04 FAR SIDE 10,5 KALENDER
P05 ALAM KALENDER 12,99
P06 REFERENSI SQL COMMAND 29,99
P07 tas KULIT HITAM 99,99

7 baris yang dipilih.

ANALISIS:
Teks yang Anda masukkan saat ini menjadi judul laporan.

Contoh berikut ini menunjukkan bagaimana Anda dapat menggunakan substitusi variabel mana saja dalam
sebuah pernyataan:

INPUT:
SQL> input 1 accept prod_id prompt 'Enter PRODUCT ID to Search for: ' 2
select * 3 from products 4 where product_id = '&prod_id' 5 SQL> save prod1

OUTPUT:
Created file prod1

INPUT:
SQL> start prod1

Enter PRODUCT ID to Search for: P01

OUTPUT:
old 3: where product_id = '&prod_id'
new 3: where product_id = 'P01'

A LIST OF PRODUCTS

PRO PRODUCT_NAME UNIT_COST


--- ------------------------------ ---------
P01 MICKEY MOUSE LAMP 29.95

ANALISIS:
Anda dapat menggunakan variabel untuk memenuhi kebutuhan banyak – misalnya, untuk nama file ke mana
akan spool output Anda atau menentukan sebuah ekspresi pada klausa ORDER BY. Salah satu cara untuk
menggunakan substitusi variabel adalah memasukkan laporan tanggal pada klausa WHERE untuk transaksional
laporan jaminan kualitas. Jika pertanyaan Anda dirancang untuk mengambil informasi pada satu individu tertentu
pada suatu waktu, Anda mungkin ingin menambahkan variabel substitusi untuk dibandingkan dengan SSN kolom
tabel.
NEW_VALUE
The NEW_VALUE command passes the value of a selected column into an undefined variable of your choice.
The syntax is as follows:

Sintaks:
COL[UMN] column_name NEW_VALUE new_name
Kamu menyebut nilai-nilai variabel dengan menggunakan & karakter, misalnya:

&new_name
KOLOM perintah harus digunakan dengan NEW_VALUE. Perhatikan bagaimana & dan perintah KOLOM
digunakan bersama di file SQL berikutnya * Plus. GET perintah mendapatkan file.

INPUT:
SQL> get prod1

OUTPUT:
line 5 truncated.
1 ttitle left 'Report for Product: &prod_title' skip 2
2 col product_name new_value prod_title
3 select product_name, unit_cost
4 from products
5* where product_name = 'COFFEE MUG'

INPUT:
SQL> @prod1

OUTPUT:
Report for Product: COFFEE MUG

PRODUCT_NAME UNIT_COST
------------------------------ ----------
COFFEE MUG 6.95

ANALISIS:
Nilai untuk kolom PRODUCT_NAME disahkan ke prod_title variabel dengan cara new_value.Nilai dari variabel
prod_title kemudian disebut dalam TTITLE tersebut.
Tabel DUAL

Tabel DUAL adalah dummy tabel yang ada dalam setiap database Oracle. Tabel ini terdiri dari satu kolom
dummy yang hanya disebut baris data adalah nilai X. Tabel DUAL tersedia bagi semua pengguna database dan
dapat digunakan untuk tujuan umum, seperti aritmatika bermasalah (di tempat yang dapat berfungsi sebagai
kalkulator) atau memanipulasi format SYSDATE.

INPUT:
SQL> desc dual;

OUTPUT:
Name Null? Jenis
------------------------------- -------- ----
DUMMY VARCHAR2(1)

INPUT:
SQL> select *
2 dari dual;

OUTPUT:
D
-
X
Take a look at a couple of examples using the DUAL table:

INPUT:
SQL> select sysdate
2 dari dual;

OUTPUT:
SYSDATE
--------
08-MAY-97

INPUT:
SQL> select 2 * 2 2 from dual;

OUTPUT:
2*2
--------
4
Cukup sederhana. Pernyataan pertama yang dipilih SYSDATE dari meja DUAL dan mendapatkan tanggal hari
ini.Contoh kedua menunjukkan cara untuk melipatgandakan dalam tabel DUAL. Jawaban kami untuk 2 * 2
adalah 4.

Fungsi deCODE

Fungsi deCODE adalah salah satu dari perintah yang paling kuat di SQL * Plus – dan mungkin yang paling
kuat. Standar bahasa SQL tidak memiliki fungsi prosedural yang terkandung dalam bahasa seperti COBOL dan
C.

Sintaks:
DECODE(column1, value1, output1, value2, output2, output3)
Contoh sintaks melakukan fungsi deCODE pada column1. Jika column1 memiliki nilai nilai1, kemudian
menampilkan output1 bukan nilai sekarang kolom itu. Jika column1 memiliki nilai nilai2, kemudian menampilkan
output2 bukan nilai sekarang kolom itu. Jika column1 memiliki nilai apapun selain value1 atau value2, kemudian
menampilkan output3 bukan nilai sekarang kolom itu.

Bagaimana tentang beberapa contoh? Pertama, melakukan pilih sederhana pada tabel baru:…

INPUT:
SQL> select * from states;

OUTPUT:
ST
-
DI
FL
KY
IL
OH
CA
NY

7 rows selected.
Now use the DECODE command:

INPUT:
SQL> select decode(state,'IN','INDIANA','OTHER') state
2 from states;
OUTPUT:
STATE
------
INDIANA
LAIN
LAIN
LAIN
LAIN
LAIN
LAIN

7 rows selected.

ANALISIS:
Only one row met the condition where the value of state was IN , so only that one row was displayed
as INDIANA . The other states took the default and therefore were displayed as OTHER .
The next example provides output strings for each value in the table. Just in case your table has states that are
not in your DECODE list, you should still enter a default value of 'OTHER' .

INPUT:
SQL> select decode(state,'IN','INDIANA', 2 'FL','FLORIDA', 3
'KY','KENTUCKY', 4 'IL','ILLINOIS', 5 'OH','OHIO', 6 'CA','CALIFORNIA', 7
'NY','NEW YORK','OTHER') 8 from states;

OUTPUT:
DECODE(STATE)
----------
INDIANA
FLORIDA
Kentucky
ILLINOIS
OHIO
CALIFORNIA
NEW YORK

7 rows selected.
Itu terlalu mudah. Contoh berikut memperkenalkan meja MEMBAYAR. Tabel ini menunjukkan lebih dari kekuatan
yang terdapat dalam deCODE.

INPUT:
SQL> col hour_rate hea "HOURLY|RATE" for 99.00
SQL> col date_last_raise hea "LAST|RAISE"
SQL> select name, hour_rate, date_last_raise
2 from pay;

OUTPUT:
HOURLY LAST
NAME RATE RAISE
-------------------- ------ --------
JOHN 12.60 01-JAN-96
JEFF 8.50 17-MAR-97
RON 9.35 01-OCT-96
RYAN 7.00 15-MAY-96
BRYAN 11.00 01-JUN-96
MARY 17.50 01-JAN-96
ELAINE 14.20 01-FEB-97

7 rows selected.
Apakah Anda siap? Sudah waktunya untuk memberikan setiap individu dalam tabel MEMBAYAR kenaikan
gaji. Jika tahun lalu meningkatkan individu adalah 1996, menghitung kenaikan 10 persen. Jika tahun terakhir
meningkatkan individu adalah 1997, menghitung kenaikan 20 persen. Selain itu, layar persen kenaikan untuk
masing-masing individu dalam situasi baik.

INPUT:
SQL> col new_pay hea 'NEW PAY' for 99.00
SQL> col hour_rate hea 'HOURLY|RATE' for 99.00
SQL> col date_last_raise hea 'LAST|RAISE'
SQL> select name, hour_rate, date_last_raise,
2 decode(substr(date_last_raise,8,2),'96',hour_rate * 1.2,
3 '97',hour_rate * 1.1) new_pay,
4 decode(substr(date_last_raise,8,2),'96','20%',
5 '97','10%',null) increase
6 from pay;

OUTPUT:
HOURLY LAST
NAME RATE RAISE NEW PAY INC
-------------------- ------ --------- ------- ---
JOHN 12.60 01-JAN-96 15.12 20%
JEFF 8.50 17-MAR-97 9.35 10%
RON 9.35 01-OCT-96 11.22 20%
RYAN 7.00 15-MAY-96 8.40 20%
BRYAN 11.00 01-JUN-96 13.20 20%
MARY 17.50 01-JAN-96 21.00 20%
ELAINE 14.20 01-FEB-97 15.62 10%

7 rows selected.

ANALISIS:
According to the output, everyone will be receiving a 20 percent pay increase except Jeff and Elaine, who have
already received one raise this year.

DATE Conversions
Jika Anda ingin menambahkan sentuhan kelas dengan cara tanggal yang ditampilkan, maka Anda dapat
menggunakan fungsi TO_CHAR untuk mengubah gambar tanggal “.” Contoh ini dimulai dengan mendapatkan
tanggal hari ini:

INPUT:
SQL> select sysdate
2 dari dual;

OUTPUT:
SYSDATE
--------
08-MAY-97
Ketika mengubah tanggal untuk string karakter, Anda menggunakan fungsi TO_CHAR dengan sintaks berikut:

Sintaks:
TO_CHAR(sysdate,'date picture')
Tanggal gambar adalah bagaimana Anda ingin tanggal untuk melihat. Beberapa bagian
paling umum dari gambar tanggal adalah sebagai berikut: Bulan Bulan saat ini
terbilang.
Sen The current month abbreviated.

Hari The current day of the week.


mm The number of the current month.

yy The last two numbers of the current year.

dd The current day of the month.

yyyy The current year.

ddd The current day of the year since January 1.

jj The current hour of the day.

mi The current minute of the hour.

ss The current seconds of the minute.

adalah Displays am or pm
Tanggal gambar juga mungkin berisi koma dan string literal string selama ini ditutupi oleh tanda kutip ganda “”.

INPUT:
SQL> col today for a20
SQL> select to_char(sysdate,'Mon dd, yyyy') today
2 dari dual;

OUTPUT:
HARI INI
--------------------
May 08, 1997

ANALISIS:
Perhatikan bagaimana kita menggunakan perintah KOLOM pada hari ini alias.

INPUT:
SQL> col today hea 'TODAYs JULIAN DATE' for a20
SQL> select to_char(sysdate,'ddd') today
2 dari dual;

OUTPUT:
TODAYs JULIAN DATE
--------------------
128

ANALISIS:
Beberapa perusahaan memilih untuk mengungkapkan tanggal Julian dengan tahun sebelumnya dua digit hari
tiga digit. Tanggal gambar Anda juga bisa terlihat seperti ini: ‘yyddd’.

Asumsikan bahwa Anda menulis sebuah skrip kecil dan disimpan sebagai hari. Contoh berikut mendapatkan file
tersebut, melihat, dan menjalankan itu untuk mengambil berbagai potongan informasi tanggal dikonversi.INPUT:
SQL> get day

OUTPUT:
line 10 truncated.
1 set echo on
2 col day for a10
3 col today for a25
4 col year for a25
5 col time for a15
6 select to_char(sysdate,'Day') day,
7 to_char(sysdate,'Mon dd, yyyy') today,
8 to_char(sysdate,'Year') year,
9 to_char(sysdate,'hh:mi:ss am') time
10* from dual
Now you can run the script:

INPUT:
SQL> @day

OUTPUT:
SQL mengatur> echo pada
SQL> col day for a10
SQL> col today for a25
SQL> col year for a25
SQL> col time for a15
SQL> select to_char(sysdate,'Day') day,
2 to_char(sysdate,'Mon dd, yyyy') today,
3 to_char(sysdate,'Year') year,
4 to_char(sysdate,'hh:mi:ss am') time
5 from dual;

DAY TODAY YEAR TIME


---------- ------------------------ ----------------------- ------------
Thursday May 08, 1997 Nineteen Ninety-Seven 04:10:43 pm

ANALISIS:
Beberapa perusahaan memilih untuk mengungkapkan tanggal Julian dengan tahun sebelumnya dua digit hari
tiga digit. Tanggal gambar Anda juga bisa terlihat seperti ini: ‘yyddd’.

Asumsikan bahwa Anda menulis sebuah skrip kecil dan disimpan sebagai hari. Contoh berikut mendapatkan file
tersebut, melihat, dan menjalankan itu untuk mengambil berbagai potongan informasi tanggal dikonversi.

Sintaks:
TO_DATE(expression,'date_picture')
Try a couple of examples:

INPUT:
SQL> select to_date('19970501','yyyymmdd') "NEW DATE"
2 dari dual;

OUTPUT:
NEW DATE
--------
01-MAY-97

INPUT:
SQL> select to_date('05/01/97','mm"/"dd"/"yy') "NEW DATE"
2 dari dual;

OUTPUT:
NEW DATE
--------
01-MAY-97

ANALISIS:
Notice the use of double quotation marks to represent a literal string.

Menjalankan Seri File SQL


File script SQL dapat mencakup apa pun yang Anda dapat mengetik ke dalam buffer SQL pada> SQL prompt,
bahkan perintah yang menjalankan script SQL lain. Ya, Anda bisa mulai dari skrip SQL dalam script lain
SQL. Gambar 20,4 menunjukkan file script yang telah dibuat menggunakan perintah EDIT. File ini berisi
beberapa laporan SQL serta perintah untuk menjalankan script SQL lain.

INPUT:
SQL> edit main.sql

OUTPUT:
SQL> @main

ANALISIS:
Dengan memulai main.sql, Anda akan mengeksekusi setiap perintah SQL yang terdapat dalam script. Query1
melalui query5 juga akan dijalankan, agar, seperti yang ditunjukkan pada Gambar 20,4.
Running SQL scripts from within an SQL script.

Adding Comments to Your SQL Script


SQL*Plus gives you three ways to place comments in your file:

 -- places a comment on one line at a time.


 REMARK also places a comment on one line at a time.
 /* */ places a comment(s) on one or more lines.
Study the following example:

INPUT:
SQL> input
1 REMARK this is a comment
2 -- this is a comment too
3 REM
4 -- SET COMMANDS
5 set echo on
6 set feedback on
7 -- SQL STATEMENT
8 select *
9 from products
10
SQL>
To see how comments look in an SQL script file, type the following:

SQL> edit query10

Advanced Reports
Now let’s have some fun. By taking the concepts that you have learned today, as well as what you learned
earlier, you can now create some fancy reports. Suppose that you have a script named report1.sql . Start it,
sit back, and observe.

INPUT:
SQL> @report1

OUTPUT:
SQL mengatur> echo pada
SQL> set pagesize 50
SQL> set feedback off
SQL> set newpage 0
SQL> col product_name hea 'PRODUCT|NAME' for a20 trunc
SQL> col unit_cost hea 'UNIT|COST' for $99.99
SQL> col product_qty hea 'QTY' for 999
SQL> col total for $99,999.99
SQL> spool report
SQL> compute sum of total on customer
SQL> compute sum of total on report
SQL> break on report on customer skip 1
SQL> select o.customer, p.product_name, p.unit_cost,
2 o.product_qty, (p.unit_cost * o.product_qty) total
3 from orders o,
4 products p
5 where o.product_id = p.product_id
6 order by customer
7 /

CUSTOMER PRODUCT UNIT QTY TOTAL


NAME COST
--------------------------- --------------------- ------ ----- ----------
JONES and SONS MICKEY MOUSE LAMP $29.95 50 $1,497.50
NO 2 PENCILS - 20 PA $1.99 10 $19.90
COFFEE MUG $6.95 10 $69.50
****************************** ----------
sum $1,586.90

PARAKEET CONSULTING GROUP MICKEY MOUSE LAMP $29.95 5 $149.75


NO 2 PENCILS - 20 PA $1.99 15 $29.85
SQL COMMAND REFERENC $29.99 10 $299.90
BLACK LEATHER BRIEFC $99.99 1 $99.99
FAR SIDE CALENDAR $10.50 22 $231.00
****************************** ----------
sum $810.49

PLEWSKY MOBILE CARWASH MICKEY MOUSE LAMP $29.95 1 $29.95


BLACK LEATHER BRIEFC $99.99 5 $499.95
BLACK LEATHER BRIEFC $99.99 1 $99.99
NO 2 PENCILS - 20 PA $1.99 10 $19.90
NO 2 PENCILS - 20 PA $1.99 10 $19.90
****************************** ----------
sum $669.69
----------
sum $3,067.08
SQL> Input truncated to 9 characters
spool off
ANALISIS:
Beberapa hal terjadi dalam script ini. Jika Anda melihat pernyataan SQL yang sebenarnya, Anda
dapat melihat bahwa itu adalah memilih data dari dua tabel dan melakukan fungsi aritmetika
juga. Pernyataan itu menghubungkan dua tabel di klausa WHERE dan diperintahkan oleh nama
pelanggan. Mereka adalah dasar-dasar. Di samping itu, perintah SQL * Plus format data cara kita
ingin melihatnya. Perintah-perintah ini mematahkan laporan dalam kelompok, membuat perhitungan
pada masing-masing kelompok dan membuat perhitungan pada laporan secara keseluruhan.
Ringkasan
Penjelaskan perpanjangan Oracle dengan bahasa standar SQL. Perintah-perintah ini hanya sebagian
kecil dari apa yang tersedia bagi Anda di SQL Plus. Jika Anda menggunakan produk Oracle’s, periksa
dokumentasi database, mengambil pengetahuan yang telah Anda pelajari di sini, dan mengeksplorasi
kemungkinan yang tak terbatas yang berbohong sebelum Anda. Anda akan menemukan bahwa Anda
dapat menyelesaikan hampir semua tugas pelaporan yang menggunakan SQL Plus dan bukan dengan
beralih ke bahasa pemrograman prosedural. Bila Anda tidak menggunakan produk Oracle,
menggunakan apa yang telah Anda pelajari hari ini untuk meningkatkan cara Anda mengambil data
dalam pelaksanaan Anda.Kebanyakan implementasi utama memiliki ekstensi, atau perangkat
tambahan, dengan bahasa standar yang diterima dari SQL.

Anda mungkin juga menyukai