SQL Statement adalah perintah dasar dari SQL. Secara umum SQL Statement di bagi 3 :
- Data Manupulation Language, digunakan untuk memanupulasi data yang tersimpan didatabase
- Select, berfungsi untuk mendapatkan data dari database berdasarkan kriteria-kriteria yang diberikan
- Insert, berfungsi untuk memasukkan data ke dalam database
- Update, berfungsi untuk mengubah data ke dalam database
- Delete, berfungsi untuk menghapus data dari database
2. Data Definition Languange, digunakan untuk mendefinisikan kebutuhan data pada database
- Create, berfungsi untuk membuat struktur data dari objek-objek database
- Alter, berfungsi untuk mengubah struktur data dari objek-objek database
- Drop, berfungsi untuk menghapus struktur data dari objek-objek database
- Rename, berfungsi untuk mengubah nama struktur dari objek-objek database
- Truncate, berfungsi untuk menghapus isi struktur dari objek-objek database
3. Data Control Language
- Grant , berfungsi untuk memberikan hak akses terhadap Oracle database dan struktur didalamnya
- Revoke, berfungsi untuk menghapus hak akses terhadap Oracle database dan struktur di dalamnya
4. Transaction Control Statement
- Set Transaction, berfungsi untuk membuat transaksi seperti yang sedang membaca atau hanya baca tulis, yang membuat tingkat isolasi, atau untuk menetapkan rollback segmen tertentu
- Commit, berfungsi untuk mengakhiri transaksi serta membuat seluruh perubahan data menjadi permanen
- Rollback, berfungsi untuk mengakhiri transaksi dan membatalkan seluruh perubahan data
- 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
));