SQL Statement adalah perintah dasar dari SQL. Secara umum SQL Statement di bagi 3 :

  1. Data Manupulation Language, digunakan untuk memanupulasi data yang tersimpan didatabase
  2. Select, berfungsi untuk mendapatkan data dari database berdasarkan kriteria-kriteria yang diberikan
  3. Insert, berfungsi untuk memasukkan data ke dalam database
  4. Update, berfungsi untuk mengubah data ke dalam database
  5. Delete, berfungsi untuk menghapus data dari database

2. Data Definition Languange, digunakan untuk mendefinisikan kebutuhan data pada database

  1. Create, berfungsi untuk membuat struktur data dari objek-objek database
  2. Alter, berfungsi untuk mengubah struktur data dari objek-objek database
  3. Drop, berfungsi untuk menghapus struktur data dari objek-objek database
  4. Rename, berfungsi untuk mengubah nama struktur dari objek-objek database
  5. Truncate, berfungsi untuk menghapus isi struktur dari objek-objek database

3. Data Control Language

  1. Grant , berfungsi untuk memberikan hak akses terhadap Oracle database dan struktur didalamnya
  2. Revoke, berfungsi untuk menghapus hak akses terhadap Oracle database dan struktur di dalamnya

4. Transaction Control Statement

  1. Set Transaction, berfungsi untuk membuat transaksi seperti yang sedang membaca atau hanya baca tulis, yang membuat tingkat isolasi, atau untuk menetapkan rollback segmen tertentu
  2. Commit, berfungsi untuk mengakhiri transaksi serta membuat seluruh perubahan data menjadi permanen
  3. Rollback, berfungsi untuk mengakhiri transaksi dan membatalkan seluruh perubahan data
  4. Savepoint, berfungsi untuk manandai savepoint didalam sebuah transaksi

Sebelum melakukan pembahasan tentang SQL Statement dimulai, diperlukan table yang berisi data sehingga contoh-contoh yang disajikan dapat dipraktekkan. Mulailah untuk mengetikkan script-script di bawah ini :

CREATE TABLE TB_KARYAWAN

(

ID NUMBER NOT NULL,

ID_KARYAWAN VARCHAR2(8 BYTE) NOT NULL,

NAMA_DEPAN VARCHAR2(20 BYTE) NOT NULL,

NAMA_BELAKANG VARCHAR2(20 BYTE) NOT NULL,

ID_DIVISI NUMBER NOT NULL,

GAJI NUMBER NOT NULL,

TGL_IN DATE,

TGL_OUT DATE

)

TABLESPACE SYSTEM

PCTUSED 40

PCTFREE 10

INITRANS 1

MAXTRANS 255

STORAGE (

INITIAL 64K

MINEXTENTS 1

MAXEXTENTS 2147483645

PCTINCREASE 0

FREELISTS 1

FREELIST GROUPS 1

BUFFER_POOL DEFAULT

)

LOGGING

NOCOMPRESS

NOCACHE

NOPARALLEL

MONITORING;

CREATE UNIQUE INDEX PK_KARYAWAN ON TB_KARYAWAN

(ID)

LOGGING

TABLESPACE SYSTEM

PCTFREE 10

INITRANS 2

MAXTRANS 255

STORAGE (

INITIAL 64K

MINEXTENTS 1

MAXEXTENTS 2147483645

PCTINCREASE 0

FREELISTS 1

FREELIST GROUPS 1

BUFFER_POOL DEFAULT

)

NOPARALLEL;

CREATE OR REPLACE TRIGGER TGR_KARYAWAN

BEFORE INSERT

ON STAFF.TB_KARYAWAN

REFERENCING NEW AS New OLD AS Old

FOR EACH ROW

DECLARE

tmpVar NUMBER;

/******************************************************************************

NAME: TGR_KARYAWAN

PURPOSE:

REVISIONS:

Ver Date Author Description

——— ———- ————— ————————————

1.0 12/24/2008 1. Created this trigger.

NOTES:

Automatically available Auto Replace Keywords:

Object Name: TGR_KARYAWAN

Sysdate: 12/24/2008

Date and Time: 12/24/2008, 2:48:07 PM, and 12/24/2008 2:48:07 PM

Username: (set in TOAD Options, Proc Templates)

Table Name: TB_KARYAWAN (set in the “New PL/SQL Object” dialog)

Trigger Options: (set in the “New PL/SQL Object” dialog)

******************************************************************************/

BEGIN

SELECT SEQ_KARYAWAN.NEXTVAL INTO :NEW.ID FROM dual;

END TGR_KARYAWAN;

/

SHOW ERRORS;

ALTER TABLE TB_KARYAWAN ADD (

CONSTRAINT PK_KARYAWAN

PRIMARY KEY

(ID)

USING INDEX

TABLESPACE SYSTEM

PCTFREE 10

INITRANS 2

MAXTRANS 255

STORAGE (

INITIAL 64K

MINEXTENTS 1

MAXEXTENTS 2147483645

PCTINCREASE 0

FREELISTS 1

FREELIST GROUPS 1

));