SYSTEM (RDBMS)
ORACLE
Oleh:
Agus Harya Maulana
Daftar Isi
Perintah Istilah
SELECT Data retrieval
INSERT
UPDATE Data manipulation language
DELETE (DML)
MERGE
CREATE
ALTER Data definition language (DDL)
DROP
RENAME
TRUNCATE
COMMIT
ROLLBACK Transaction control
SAVEPOINT
GRANT Data control language (DCL)
REVOKE
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Salah satu user yang telah disediakan pada saat menginstall Oracle adalah
user HR. Pada kondisi awal (default) user ini dalam kondisi di-lock. Kita dapat
mengaktifkan (unlock) user ini dengan langkah berikut:
- Connect sebagai DBA
o CONN / AS SYSDBA;
- Unlock user HR dan berikan password
o ALTER USER HR ACCOUNT UNLOCK;
o ALTER USER HR IDENTIFIED BY HR;
o CONN HR/HR;
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Projection Selection
Tabel-1 Tabel-2
Joining
Dalam penulisan SQL dikenal istilah-istilah yang umum digunakan, antara lain :
Keyword : Individual SQL statement, umumnya dituliskan dengan
huruf kapital. Contohnya : SELECT dan FROM
Clause : Part of SQL Statement.
Contohnya : SELECT last_name,department_id
Statement : Kombinasi dua atau lebih dari clause.
Contohnya : SELECT last_name,department_id
FROM departments;
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
SELECT *
FROM departments;
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
- iSQL*Plus:
o Default heading justification : Center
o Default heading display : Uppercase
- SQL*Plus:
o Heading kolom karakter dan tanggal : Left-justified
o Heading kolom nomor : Right-justified
o Default heading display : Uppercase
SQL iSQL*Plus
Language Environment
Standar ANSI Milik Oracle
Keyword tidak dapat disingkat Keyword dapat disingkat
Dijalankan di browser
Bersifat central, tidak diimplementasikan
pada tiap komputer
Keterangan gambar :
1. Edit window : Area dimana perintah dan statement iSQL*Plus
dituliskan
2. Execute button : Tombol untuk mengeksekusi perintah atau statement
yang tercantum di menu edit window
3. Save script button : Tombol untuk menyimpan statement yang dituliskan
dalam edit window kedalam sebuah file
4. Clear Screen button: Tombol untuk menghapus statement yang tercantum
dalam edit window
5. Cancel button : Tombol untuk membatalkan perintah terakhir
6. Script locator : Mengidentifikasi nama dan lokasi dari file script yang
akan dieksekusi
7. Browse button : Digunakan untuk mencari file script dengan
memanfaatkan dialog box Windows File Open
8. Load script : Tombol untuk mengeksekusi statement yang ada di
file script dalam script locator
DESC[RIBE] tablename
DESCRIBE employees
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
- Klik tombol Save Script. Kemudian akan muncul kotak dialog Windows File
Save. Isikan nama file dan tentukan tujuannya.
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
SPOOL C:\Training\Hari1.sql;
SELECT * FROM departments;
SPOOL OFF;
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
D:\temp\emp_sql.htm
- Klik tombol Load Script. Isi file akan ditampilkan pada edit window iSQL*Plus
- Klik tombol Execute untuk menjalankan perintah pada edit window iSQL*Plus
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
@<lokasi_file>
Contoh:
@C:\Training\Test1
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
3. Ekspresi Aritmatika
Operator Deskripsi
+ Tambah
- Kurang
* Kali
/ Bagi
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
* / + -
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
- Null adalah sebuah nilai yang bersifat unavailable, unassigned, unknown, atau
inapplicable
- Null tidak sama dengan nol (zero) atau blank space
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
5. Operator Concatenation
Operator concatenation:
- Menggabungkan kolom atau string karakter dengan kolom lain
- Direpresentasikan dengan dua vertical bar (||)
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Contoh lain:
SELECT last_name ||‟: 1 bulan gaji = „|| salary Bulanan
FROM employees;
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
7. Duplikasi Baris
Secara default, tampilan hasil query adalah semua baris, termasuk duplikasi baris
SELECT department_id
FROM employees;
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Contoh lain:
SELECT DISTINCT department_id, job_id
FROM employees;
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Operator Arti
= Sama dengan
> Lebih dari
>= Lebih dari atau sama dengan
< Kurang dari
<= Kurang dari atau sama dengan
<> Tidak sama dengan
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Operator Arti
BETWEEN … AND … Diantara dua nilai
IN(set) Memenuhi beberapa dari nilai dalam list
LIKE Memenuhi pola karakter
IS NULL Sama dengan nilai null
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
SELECT first_name
FROM employees
WHERE first_name LIKE 'S%';
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Selain itu kita dapat pula menggunakan identifier ESCAPE untuk mencari special
karakter % dan _ yang sebenarnya
SELECT employee_id, last_name, job_id
FROM employees
WHERE job_id LIKE '%SA\_%' ESCAPE '\';
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Operator Arti
AND Menghasilkan TRUE jka semua kondisi
komponen benar
OR Menghasilkan TRUE jika salah satu
kondisi komponen benar
NOT Menghasilkan TRUE jika kondisi bernilai
salah
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Kita dapat mengurutkan baris berdasarkan kolom yang tidak ada pada list SELECT.
SELECT last_name, salary
FROM employees
ORDER BY department_id, salary DESC;
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Pernyataan yang terakhir menghasilkan row yang memenuhi kriteria di atas. Dengan
demikian penggunaan LOWER dapat menghasilkan query yang akurat.
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Fungsi Hasil
CONCAT('Selamat', 'Pagi') SelamatPagi
SUBSTR('SelamatPagi',1,5) Selam
LENGTH('SelamatPagi') 11
INSTR('SelamatPagi', 'P') 8
LPAD(salary,10, '*') *****24000
RPAD(salary,10, '*') 24000*****
TRIM('S' FROM 'SelamatPagi') elamatPagi
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
SELECT SUBSTR(last_name,3,5)
FROM employees;
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
DUAL adalah tabel dummy yang dapat kita gunakan untuk melihat hasil sebuah
fungsi atau kalkulasi.
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Fungsi Deskripsi
MONTHS_BETWEEN Jumlah bulan diantara dua tanggal
ADD_MONTHS Menambah jumlah bulan pada tanggal
NEXT_DAY Tanggal berikutnya pada hari yang
ditentukan
LAST_DAY Tanggal terakhir pada bulan tertentu
ROUND Round tanggal
TRUNC Truncate tanggal
Fungsi Hasil
MONTHS_BETWEEN ('01-SEP-95', '11-JAN-94') 19.6774194
ADD_MONTHS ('11-JAN-94', 6) „11-JUL-94‟
NEXT_DAY ('01-SEP-95', 'FRIDAY') ‟08-SEP-95‟
LAST_DAY ('01-FEB-95') ‟28-FEB-95‟
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
TO_CHAR(date, 'format_model')
Format model:
- Harus diapit dengan tanda kutip tunggal dan case sensitive
- Dapat berisikan elemen dengan format tanggal yang valid
- Memiliki elemen fm untuk menghilangkan space kosong atau menghilangkan
leading zero
- Dipisahkan dari tanggal menggunakan koma
SELECT last_name,
TO_CHAR(hire_date, 'fmDD Month YYYY' )
AS TANGGAL
FROM employees;
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Elemen Makna
YYYY Tahun secara lengkap dalam bentuk
angka
YEAR Tahun
MM Bulan dalam bentuk angka 2 digit
MONTH Bulan dalam bentuk nama lengkap
MON Bulan dalam bentuk singkatan 3 huruf
DY Hari dalam bentuk singkatan 3 huruf
DAY Hari dalam bentuk nama lengkap
DD Tanggal
Format dari elemen waktu menentukan tampilan dari waktu pada Oracle.
Sebagai contoh:
HH24:MI:SS AM 15:45:32 PM
Kita dapat pula menyelipkan karakter diantara elemen waktu dengan menambahkan
tanda kutip ganda diantaranya.
DD “of” MONTH 17 of AUGUST
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
TO_CHAR(number, 'format_model' )
Berikut ini adalah beberapa elemen format yang dapat kita gunakan dengan fungsi
TO_CHAR, untuk menampilkan angka sebagai karakter
9 Menunjukkan angka
0 Memaksakan angka 0 untuk ditampilkan
$ Menempatkan tanda dolar
L Menggunakan simbl mata uang lokal
. Menampilkan penanda desimal
, Menampilkan penanda ribuan
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Untuk mengubah karakter menjadi format tanggal kita dapat menggunakan fungsi
TO_DATE:
TO_DATE(char[, ‘format_model’])
Fungsi-fungsi di atas memiliki modifier fx. Fungsi modifier ini dapat dilihat dengan
menggunakan contoh berikut ini
SELECT last_name, hire_date
FROM employees
WHERE hire_date = TO_DATE('May 24, 1999', 'fxMonth DD, YYYY');
SELECT last_name, hire_date
FROM employees
WHERE hire_date = TO_DATE('May24, 1999', 'fxMonth DD, YYYY');
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Fungsi Deskripsi
NVL Mengubah nilai null menjadi nilai aktual
NVL2 Jika pernyataan1 tidak null, maka hasilnya adalah
pernyataan2. Jika pernyataan1 null, maka hasilnya
adalah pernyataan3.
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Natural join dapat pula ditambah dengan klausa WHERE sebagai berikut:
SELECT department_id, department_name,
location_id, city
FROM departments
NATURAL JOIN locations
WHERE department_id IN (20, 50);
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
26. Menggunakan Fungsi COUNT
SELECT COUNT(*)
FROM employees
WHERE department_id = 50;
SELECT COUNT(commission_pct)
FROM employees
WHERE department_id = 80;
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
SELECT AVG(commission_pct)
FROM employees;
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Pada saat menggunakan fungsi grup, kita tidak boleh menggunakan klausa WHERE
pada fungsi grup tersebut. Untuk maksud yang sama kita dapat menggunakan
klausa HAVING.
Untuk itu kita harus menggunakan klausa HAVING sebagaimana ditunjukkan pada
contoh berikut:
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
SELECT MAX(AVG(salary))
FROM employees
GROUP BY department_id;
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
SELECT last_name
FROM employees
WHERE salary >
(SELECT salary
FROM employees
WHERE last_name = „Abel‟);
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Operator Arti
= Sama dengan
> Lebih dari
>= Lebih dari atau sama dengan
< Kurang dari
<= Kurang dari atau sama dengan
<> Tidak sama dengan
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
(SELECT MIN(salary)
FROM employees);
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Oracle server akan mengeksekusi subquery terlebih dahulu. Contoh berikut dapat
menggambarkan situasi tersebut:
Catatan :
__________________________________________________________________
__________________________________________________________________
Subquery jenis ini menghasilkan lebih dari satu baris. Untuk itu kita menggunakan
operator pembanding multi-baris.
Operator Arti
IN Sama dengan salah satu anggota dalam list
ANY Membandingkan nilai dengan tiap nilai hasil dari subquery
ALL Membandingkan nilai dengan semua nilai hasil dari subquery
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
SELECT emp.last_name
FROM employees emp
WHERE emp.employee_id NOT IN
(SELECT mgr.manager_id
FROM employees mgr);
Untuk menghindari kemungkinan dihasilkannya nilai null pada subquery, kita dapat
menambahkan klausa WHERE sebagai berikut:
SELECT last_name
FROM employees
WHERE employee_id NOT IN
(select manager_id
FROM employees
WHERE manager_id IS NOT NULL);
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Kita dapat menggunakan variabel yang dimulai dengan tanda & (ampersand) untuk
mengarahkan pengguna pada suatu nilai tertentu.
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Isikan dengan:
- Column_name = salary
- Condition = salary > 15000
- Order_column = last_name
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
SET VERIFY ON
SELECT employee_id, last_name, salary, department_id
FROM employees
WHERE employee_id = &employee_num;
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
BREAK ON job_id
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Contoh:
SET FEEDBACK OFF
TTITLE 'Employee|Report'
BTITLE 'Confidential'
BREAK ON job_id
COLUMN job_id HEADING 'Job|Category'
COLUMN last_name HEADING 'Employee'
COLUMN salary HEADING 'Salary' FORMAT $99,999.99
REM ** Insert SELECT statement
SELECT job_id, last_name, salary
FROM employees
WHERE salary < 15000
ORDER BY job_id, last_name
/
REM clear all formatting commands …
SET FEEDBACK ON
COLUMN job_id CLEAR
COLUMN last_name CLEAR
COLUMN salary CLEAR
CLEAR BREAK
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
- Tidak boleh duplikasi nama dari objek lain yang dimiliki oleh pengguna yang
sama
- Tidak boleh berupa reserved word server Oracle
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
- Melihat tabel, view, synonym, dan sequences yang dimiliki oleh pengguna
SELECT *
FROM user_catalog;
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
DESCRIBE dept80
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Atau
Contoh:
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
- Metode eksplisit
INSERT INTO department_ojt
VALUES (100, 'Finance', NULL, NULL);
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
UPDATE employee_ojt
SET department_id = 70
WHERE employee_id = 113;
UPDATE employee_ojt
SET department_id = 110;
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
UPDATE employee_ojt
SET job_id = (SELECT job_id
FROM employees
WHERE employee_id = 205),
salary = (SELECT salary
FROM employees
WHERE employee_id = 205)
WHERE employee_id = 114;
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Jika kita tidak menuliskan klausa WHERE, maka seluruh baris pada tabel akan
terhapus.
DELETE FROM employee_ojt;
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
INSERT INTO
(SELECT employee_id, last_name,
email, hire_date, job_id, salary,
department_id
FROM employee_ojt
WHERE department_id = 50)
VALUES (99999, 'Taylor', 'DTAYLOR',
TO_DATE('07-JUN-99', 'DD-MON-YY'),
'ST_CLERK', 5000, 50);
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
CONN HR/HR;
INSERT INTO department_ojt (department_id, department_name)
VALUES (86, 'A');
SAVEPOINT A;
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
UPDATE employee_ojt t2
SET salary=salary+10000
WHERE last_name='King';
COMMIT; t4
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Sedangkan untuk mengarahkan sebuah tabel pada tablespace yang kita inginkan
dicontohkan sebagai berikut:
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Agar kita dapat melihat perbedaan kecepatan query, kita dapat menggunakan
perintah berikut:
Catatan :
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
GRANT resource
TO agus;
Grant resource bertujuan agar user dapat membuat tabel menggunakan tablespace
system.
Grant create session bertujuan agar user dapat terhubung (connect) ke usernya
masing-masing.
Grant create table bertujuan agar user dapat membuat table sendiri.
Grant create sequence bertujuan agar user dapat membuat sequence sendiri.
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
41. Role
Role adalah nama dari grup privilege yang dapat diberikan pada pengguna. Metode
ini memudahkan kita untuk menghapus maupun memelihara privilege.
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
GRANT select
ON hr.employees
TO yudi,ichal
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
GRANT select
ON hr.departments
TO PUBLIC;
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Untuk membuat direktori dimaksud, kita dapat menjalankan perintah SQL berikut:
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
Catatan :
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Catatan Penting :
Materi ini sering digunakan dalam rutinitas pemeliharaan database SCADA, namun
tidak terdapat dalam buku resmi Oracle University modul 1. Semoga bermanfaat. Di
eksekusi pada mode DOS (command prompt).
Eksport tabel
exp <user>/<password>@<SID> tables=<SID>.<namatabel> file=<alamatfile>
Contoh :
exp hr/hr@SID tables=hr.employees file=/home/spsy/employees.dmp UNIX
exp hr/hr@SID tables=hr.employees file=d:/employees.dmp Windows
Import tabel
imp system/<password> file=<lokasifile> fromuser=<userawal>
touser=<usertujuan>
Contoh :
imp system/semarang file=c:/cmch.dmp fromuser=fosis touser=system