Situs informasi aplokasi, Tips dan trik, Berita, informasi Teknologi, perkembangan Gadget dan internet.
Showing posts sorted by relevance for query insert-data-pada-oracle-sql. Sort by date Show all posts
Showing posts sorted by relevance for query insert-data-pada-oracle-sql. Sort by date Show all posts

Wednesday, November 13, 2019

Tips Dan Trik Insert Data Pada Oracle Sql

Untuk memasukkan data ke dalam tabel di database, kita sanggup memakai perintah INSERT INTO pada query SQL.

Sintak Dasar

Ada 2 macam tipe perintah INSERT INTO di SQL, yaitu:

1. Insert Data dengan nama kolom

Sintak Dasar:

INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)] VALUES (value1, value2, value3,...valueN); 

2. Insert Data tanpa nama kolom

Sintak Dasar:

INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN); 

Contoh Script

Di bawah ini ialah pola query Insert data pada tabel MAHASISWA:

Insert into NANO.MAHASISWA    (NPM, NAMA, TEMPAT_LAHIR, TGL_LAHIR, ALAMAT, JURUSAN, IPK)  Values    ('2014001', 'Nursalim', 'Brebes', TO_DATE('11/11/1983 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'Jakarta Selatan', 'Teknik Informatika', 3.28); Insert into NANO.MAHASISWA    (NPM, NAMA, TEMPAT_LAHIR, TGL_LAHIR, ALAMAT,      JURUSAN, IPK)  Values    ('2014002', 'Nani Indriyani', 'Bandung', TO_DATE('09/05/1990 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'Kuningan', 'Bahasa Inggris', 3.5); Insert into NANO.MAHASISWA    (NPM, NAMA, TEMPAT_LAHIR, TGL_LAHIR, ALAMAT, JURUSAN, IPK)  Values    ('2014003', 'Ahmad Fatoni', 'Semarang', TO_DATE('08/20/1995 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'Jakarta Utara', 'Bahasa Inggris', 2.91); Insert into NANO.MAHASISWA    (NPM, NAMA, TEMPAT_LAHIR, TGL_LAHIR, ALAMAT, JURUSAN, IPK)  Values    ('2014004', 'Sri Rahayu', 'Jakarta', TO_DATE('10/13/1998 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'Brebes', 'Ilmu Komputer', 3); Insert into NANO.MAHASISWA    (NPM, NAMA, TEMPAT_LAHIR, TGL_LAHIR, ALAMAT, JURUSAN, IPK)  Values    ('2014005', 'Iin Parlina', 'Surabaya', TO_DATE('01/01/1999 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'Muara Karang', 'Teknik Metalurgi', 2.5); COMMIT; 

Tampilkan Data

Untuk menampilkan data yang telah kita masukkan (insert), Anda sanggup memakai perintah SELECT menyerupai di bawah ini:

SQL> set linesize 250; SQL> SELECT * FROM mahasiswa;  NPM        NAMA                 TEMPAT_LAHIR    TGL_LAHIR  ALAMAT             JURUSAN               IPK ---------- -------------------- --------------- ---------- ------------------ --------------------- --------- 2014001    Nursalim             Brebes          11-11-1983 Jakarta Selatan    Teknik Informatika        3,28 2014002    Nani Indriyani       Bandung         05-09-1990 Kuningan           Bahasa Inggris             3,5 2014003    Ahmad Fatoni         Semarang        20-08-1995 Jakarta Utara      Bahasa Inggris            2,91 2014004    Sri Rahayu           Jakarta         13-10-1998 Brebes             Ilmu Komputer                3 2014005    Iin Parlina          Surabaya        01-01-1999 Muara Karang       Teknik Metalurgi           2,5 


Tips Dan Trik Operator Pada Oracle Sql

Operator Aritmetika (Arithmetic Operator)

Di bawah ini yaitu teladan penggunaan operator Aritmetika di SQL:

sql> SELECT 20+10 FROM dual;       20+10 ----------         30  SQL> SELECT 20-10 FROM dual;       20-10 ----------         10  SQL> SELECT 20*10 FROM dual;       20*10 ----------        200  SQL> SELECT 20/10 FROM dual;       20/10 ----------          2  

Operator Perbandingan (Comparison Operator)

Di bawah ini yaitu tabel macam-macam operator perbandingan di SQL:

Operator Deskripsi Contoh
= Apakah operand A sama dengan operand B. Kalau sama akan menghasilkan nilai TRUE A = B
!= Apakah operand A tidak sama dengan operand B. Kalau tidak sama akan menghasilkan nilai TRUE A != B

Sebagai teladan buatlah tabel Mahasiswa dan isi datanya ibarat di bawah ini:

Create Table

CREATE TABLE MAHASISWA (   NPM           VARCHAR2(10 BYTE)               NOT NULL,   NAMA          VARCHAR2(30 BYTE)               NOT NULL,   TEMPAT_LAHIR  VARCHAR2(30 BYTE)               NOT NULL,   TGL_LAHIR     DATE                            NOT NULL,   ALAMAT        VARCHAR2(30 BYTE),   JURUSAN       VARCHAR2(30 BYTE),   IPK           NUMBER(3,2) ) 

Insert Data

Insert into MAHASISWA    (NPM, NAMA, TEMPAT_LAHIR, TGL_LAHIR, ALAMAT,      JURUSAN, IPK)  Values    ('2014001', 'Nursalim', 'Brebes', TO_DATE('11/11/1983 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'Jakarta Selatan',      'Teknik Informatika', 3.28); Insert into MAHASISWA    (NPM, NAMA, TEMPAT_LAHIR, TGL_LAHIR, ALAMAT,      JURUSAN, IPK)  Values    ('2014002', 'Nani Indriyani', 'Bandung', TO_DATE('09/05/1990 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'Kuningan',      'Bahasa Inggris', 3.5); Insert into MAHASISWA    (NPM, NAMA, TEMPAT_LAHIR, TGL_LAHIR, ALAMAT,      JURUSAN, IPK)  Values    ('2014003', 'Ahmad Fatoni', 'Semarang', TO_DATE('08/20/1995 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'Jakarta Utara',      'Bahasa Inggris', 2.91); Insert into MAHASISWA    (NPM, NAMA, TEMPAT_LAHIR, TGL_LAHIR, ALAMAT,      JURUSAN, IPK)  Values    ('2014004', 'Sri Rahayu', 'Jakarta', TO_DATE('10/13/1998 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'Brebes',      'Ilmu Komputer', 3); Insert into MAHASISWA    (NPM, NAMA, TEMPAT_LAHIR, TGL_LAHIR, ALAMAT,      JURUSAN, IPK)  Values    ('2014005', 'Iin Parlina', 'Surabaya', TO_DATE('01/01/1999 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'Muara Karang',      'Teknik Metalurgi', 2.5); COMMIT; 

Tampilkan semua data mahasiswa

SQL> SELECT * FROM mahasiswa;  NPM        NAMA                    TEMPAT_LAHIR        TGL_LAHIR  ALAMAT                 JURUSAN                 IPK ---------- ----------------------- ------------------- ---------- ---------------------- ----------------------- -------- 2014001    Nursalim                Brebes              11-11-1983 Jakarta Selatan        Teknik Informatika          3,28 2014002    Nani Indriyani          Bandung             05-09-1990 Kuningan               Bahasa Inggris               3,5 2014003    Ahmad Fatoni            Semarang            20-08-1995 Jakarta Utara          Bahasa Inggris              2,91 2014004    Sri Rahayu              Jakarta             13-10-1998 Brebes                 Ilmu Komputer                  3 2014005    Iin Parlina             Surabaya            01-01-1999 Muara Karang           Teknik Metalurgi             2,5 

Contoh #1 Operator ( > )

SQL> SELECT * FROM mahasiswa   2  WHERE ipk > 3;  NPM        NAMA                    TEMPAT_LAHIR       TGL_LAHIR  ALAMAT                 JURUSAN                    IPK ---------- ----------------------- ------------------ ---------- ---------------------- -------------------------- ------- 2014001    Nursalim                Brebes             11-11-1983 Jakarta Selatan        Teknik Informatika            3,28 2014002    Nani Indriyani          Bandung            05-09-1990 Kuningan               Bahasa Inggris                 3,5 

Contoh #1 Operator ( = )

SQL> SELECT * FROM mahasiswa   2  WHERE ipk = 3;  NPM        NAMA                    TEMPAT_LAHIR       TGL_LAHIR  ALAMAT                 JURUSAN                    IPK ---------- ----------------------- ------------------ ---------- ---------------------- -------------------------- ------- 2014004    Sri Rahayu              Jakarta            13-10-1998 Brebes                 Ilmu Komputer                    3 

Contoh#3 Operator ( != )

SQL> SELECT * FROM mahasiswa   2  WHERE ipk != 3;  NPM        NAMA                    TEMPAT_LAHIR       TGL_LAHIR  ALAMAT                 JURUSAN                    IPK ---------- ----------------------- ------------------ ---------- ---------------------- -------------------------- ------- 2014001    Nursalim                Brebes             11-11-1983 Jakarta Selatan        Teknik Informatika            3,28 2014002    Nani Indriyani          Bandung            05-09-1990 Kuningan               Bahasa Inggris                 3,5 2014003    Ahmad Fatoni            Semarang           20-08-1995 Jakarta Utara          Bahasa Inggris                2,91 2014005    Iin Parlina             Surabaya           01-01-1999 Muara Karang           Teknik Metalurgi               2,5 


Operator Logika (Logical Operator)

Di bawah ini yaitu tabel macam-macam operator logika di SQL:

Operator Deskripsi
AND Operator AND dipakai pada WHERE clause untuk operasi logika AND
OR Operator OR dipakai pada WHERE clause untuk operasi logika AND
BETWEEN Operator Between dipakai pada WHERE clause untuk menampilkan data dengan rentang tertentu
IN Operator IN dipakai pada WHERE clause untuk menampilkan data dengan spesifikasi tertentu
NOT IN Operator NOT merupakan kebalikan dari operator IN
IS NULL Operator IS NULL dipakai untuk menampilkan data yang NULL (tidak memiliki nilai)
IS NOT NULL Operator IS NULL merupakan kebalikan dari operator IS NULL.

Tuesday, November 12, 2019

Tips Dan Trik Sequence Pada Oracle Sql

Apa Itu Sequence?

Sequence yakni salah satu object di database Oracle yang dipakai untuk melaksanakan penomoran otomatis. Kalau di database MySQL dikenal dengan nama Auto Increment. Sequence biasanya dipakai sebagai Primary Key.

Di Oracle database, Anda sanggup menciptakan Sequence dengan kelipatan 1, 2, 3, dan lainnya sesuai dengan kebutuhan.

Sintak Dasar

Di bawah ini yakni sintak dasar untuk menciptakan Sequence di Oracle database:

CREATE SEQUENCE sequence_name   MINVALUE value   MAXVALUE value   START WITH value   INCREMENT BY value   CACHE value; 

Membuat Sequence

Sebagai latihan, cobalah Anda menciptakan tabel Orders dengan sintak di bawah ini:

CREATE TABLE PRODUCTS (   PRODUCT_ID    NUMBER(5),   PRODUCT_NAME  VARCHAR2(30 BYTE),   QTY           NUMBER(3) );  ALTER TABLE PRODUCTS ADD (   CONSTRAINT PRODUCTS_PK   PRIMARY KEY   (PRODUCT_ID); 

Buatlah Sequence dengan nama SEQ_PROD dengan di mulai dari 1,  nilai minimum 1, nilai maximum 99999 dan kelipatan 1.

SQL> CREATE SEQUENCE SEQ_PROD   2    MINVALUE 1   3    MAXVALUE 99999999999   4    START WITH 0   5    INCREMENT BY 1   6    NOCACHE;  Sequence created. 

Menggunakan Sequence

Setelah Anda menciptakan sequence ibarat di atas, langkah selanjutnya yakni memakai sequence untuk proses insert data maupun select (menampilkan) data.

Untuk menampilkan urutan nilai selanjutnya pada Sequence, Anda sanggup memakai perintah NEXTVAL. Sedangakan bila Anda ingin menampilkan urutan terakhir Sequence, Anda sanggup memakai perintah CURRVAL.

Di bawah ini yakni pola penggunaan Sequence pada Insert Statement.

SQL> INSERT INTO products   2  VALUES(SEQ_PROD.nextval, 'Susu Ultra', 100);  1 row created.  SQL> commit;  Commit complete. 

Untuk mengambarkan apakah Sequence SEQ_PROD benar-benar berjalan sesuai, Anda sanggup melaksanakan proses query pada tabel Products ibarat query berikut:

SQL> SELECT * FROM products;  PRODUCT_ID PRODUCT_NAME        QTY ---------- ------------------ -------          1 Susu Ultra             100 

Sedangkan di bawah ini yakni pola penggunaan Sequence pada Select Statement

SQL> SELECT SEQ_PROD.nextval   2  FROM dual;     CURRVAL ----------          2 

Sedangkan untuk menampilkan nilai terakhir pada Sequence, Anda sanggup memakai keyword CURRVAL ibarat query di bawah ini:

SQL> SELECT SEQ_PROD.currval   2  FROM dual;     CURRVAL ----------          1 

Menampilkan Daftar Sequence

Untuk menampilkan daftar sequence di suatu database, Anda sanggup memakai query di bawah ini:

SQL> SELECT * FROM user_sequences;  SEQUENCE_NAME                   MIN_VALUE  MAX_VALUE INCREMENT_BY C O CACHE_SIZE LAST_NUMBER ------------------------------ ---------- ---------- ------------ - - ---------- ----------- SEQ_PROD                                1 1,0000E+11            1 N N          0           3  

Menghapus Sequnce

Untuk menghapus sebuah Sequence di database, Anda sanggup memakai perintah DROP SEQUENCE ibarat sintak di bawah ini:

DROP SEQUENCE sequence_name; 

Contoh:

DROP SEQUENCE seq_prod; 

Wednesday, November 13, 2019

Tips Dan Trik Constraint Pada Oracle

Macam-Macam Constraint

SQL Mempunyai beberapa macam tipe constraint Tips Dan Trik Constraint Pada Oracle
Macam-Macam Constraint

Oracle PL/SQL Mempunyai beberapa macam tipe constraint, yaitu:
1. NOT NULL
2. DEFAULT
3. UNIQUE
4. Primary Key
5. Foreign Key
6. Check

NOT NULL

Constraint NOT NULL dipakai pada kolom yang datanya harus ada (diisi). Di bawah ini yaitu teladan penggunaan NOT NULL constraint pada proses pembuatan tabel (Create Table).

CREATE TABLE MAHASISWA(    NPM           VARCHAR2(10) NOT NULL,    NAMA          VARCHAR2 (50) NOT NULL,    TEMPAT_LAHIR  VARCHAR2 (50) NOT NULL,    TGL_LAHIR     DATE NOT NULL,    ALAMAT        VARCHAR2 (50),    JURUSAN       VARCHAR2 (50),    IPK           NUMBER (3, 2),    PRIMARY KEY (NPM) ); 

Warning!!
Kalau Anda tidak mengisi data pada kolom npm, nama, dan tempat_lahir ketika melaksanakan proses Insert Data akan keluar error ORA-01400: cannot insert NULL into ("NANO"."MAHASISWA"."NPM").

Di bawah ini yaitu teladan penggunaan NOT NULL constraint pada proses Alter Table.

ALTER TABLE MAHASISWA MODIFY JURUSAN VARCHAR2 (50) NOT NULL; 

DEFAULT

Constraint Default dipakai untuk menunjukkan nilai default pada kolom ketika ada proses Insert Data dimana datanya null.

Constraint Default pada proses Create Table

CREATE TABLE MAHASISWA(    NPM           VARCHAR2(10) NOT NULL,    NAMA          VARCHAR2 (50) NOT NULL,    TEMPAT_LAHIR  VARCHAR2 (50) NOT NULL,    TGL_LAHIR     DATE NOT NULL,    ALAMAT        VARCHAR2 (50),    JURUSAN       VARCHAR2 (50),    IPK           NUMBER (3, 2) DEFAULT 0,    PRIMARY KEY (NPM) ); 

Constraint Default pada proses Alter Table.

ALTER TABLE MAHASISWA MODIFY JURUSAN VARCHAR2 (50) DEFAULT 'Teknik Informatika'; 

Menghilangkan Constraint Default.

ALTER TABLE CUSTOMERS ALTER COLUMN JURUSAN DROP DEFAULT; 

UNIQUE

Di bawah ini yaitu pembuatan UNIQUE Constraint pada proses Create Table.

CREATE TABLE MAHASISWA(    NPM           VARCHAR2(10) NOT NULL,    NAMA          VARCHAR2 (50) NOT NULL UNIQUE,    TEMPAT_LAHIR  VARCHAR2 (50) NOT NULL,    TGL_LAHIR     DATE NOT NULL,    ALAMAT        VARCHAR2 (50),    JURUSAN       VARCHAR2 (50),    IPK           NUMBER (3, 2),    PRIMARY KEY (NPM) ); 

Di bawah ini yaitu pembuatan UNIQUE Constraint pada proses Alter Table.

ALTER TABLE MAHASISWA MODIFY NAMA INT NOT NULL UNIQUE; 

Di bawah ini yaitu pembuatan UNIQUE Constraint pada proses Alter Table.

ALTER TABLE MAHASISWA ADD CONSTRAINT mhs_unique_const UNIQUE(NAMA, TEMPAT_LAHIR); 

Di bawah ini yaitu perintah untuk menghapus UNIQUE Constraint.

ALTER TABLE MAHASISWA DROP CONSTRAINT mhs_unique_const; 

PRIMARY KEY

Di bawah ini yaitu teladan penggunaan Primary Key pada dikala Create Table.

CREATE TABLE MAHASISWA(    NPM           VARCHAR2(10) NOT NULL,    NAMA          VARCHAR2 (50) NOT NULL,    TEMPAT_LAHIR  VARCHAR2 (50) NOT NULL,    TGL_LAHIR     DATE NOT NULL,    ALAMAT        VARCHAR2 (50),    JURUSAN       VARCHAR2 (50),    IPK           NUMBER (3, 2),    PRIMARY KEY (NPM) ); 

Di bawah ini yaitu penggunaan Primary Key pada perintah Alter Table.

ALTER TABLE MAHASISWA ADD PRIMARY KEY (NPM); 

Di bawah ini yaitu teladan penggunaan Primary Key menggunakan 2 kolom/field pada saat Create Table.

CREATE TABLE MAHASISWA(    NPM           VARCHAR2(10) NOT NULL,    NAMA          VARCHAR2 (50) NOT NULL,    TEMPAT_LAHIR  VARCHAR2 (50) NOT NULL,    TGL_LAHIR     DATE NOT NULL,    ALAMAT        VARCHAR2 (50),    JURUSAN       VARCHAR2 (50),    IPK           NUMBER (3, 2),    PRIMARY KEY (NPM, NAMA) ); 

Di bawah ini yaitu teladan penggunaan Primary Key menggunakan 2 kolom/field pada saat Alter Table.

ALTER TABLE MAHASISWA ADD PRIMARY KEY (NPM, NAMA); 

Di bawah ini yaitu perintah untuk menghapus constraint Primary Key.

ALTER TABLE MAHASISWA DROP PRIMARY KEY ; 

FOREIGN KEY

Di bawah ini yaitu teladan penggunaan constraint Foreign Key pada perintah Crate Table.

CREATE TABLE JURUSAN(    KODE_JURUSAN  VARCHAR2(10) NOT NULL,    NAMA_JURUSAN          VARCHAR2 (50) NOT NULL,    TEMPAT_LAHIR  VARCHAR2 (50) NOT NULL ); 

CREATE TABLE MAHASISWA(    NPM           VARCHAR2(10) NOT NULL,    NAMA          VARCHAR2 (50) NOT NULL,    TEMPAT_LAHIR  VARCHAR2 (50) NOT NULL,    TGL_LAHIR     DATE NOT NULL,    ALAMAT        VARCHAR2 (50),    JURUSAN       VARCHAR2 (10) REFERENCES JURUSAN (KODE_JURUSAN),    IPK           NUMBER (3, 2),    PRIMARY KEY (NPM, NAMA) ); 

ALTER TABLE MAHASISWA ADD FOREIGN KEY (JURUSAN) REFERENCES JURUSAN (KODE_JURUSAN); 

Di bawah ini yaitu perintah untuk menghapus constraint Foreign Key.

ALTER TABLE MAHASISWA DROP FOREIGN KEY; 

CHECK


CREATE TABLE MAHASISWA(    NPM           VARCHAR2(10) NOT NULL,    NAMA          VARCHAR2 (50) NOT NULL,    TEMPAT_LAHIR  VARCHAR2 (50) NOT NULL,    TGL_LAHIR     DATE NOT NULL,    ALAMAT        VARCHAR2 (50) NOT NULL CHECK (ALAMAT = 'JAKARTA'),    JURUSAN       VARCHAR2 (50),    IPK           NUMBER (3, 2) DEFAULT 0,    PRIMARY KEY (NPM) ); 

ALTER TABLE MAHASISWA MODIFY ALAMAT VARCHAR2 (50) NOT NULL CHECK (ALAMAT = 'JAKARTA'); 

ALTER TABLE MAHASISWA ADD CONSTRAINT alamat_check_cons CHECK(ALAMAT = 'JAKARTA')); 

ALTER TABLE MAHASISWA DROP CONSTRAINT alamat_check_cons; 

INDEX

CREATE INDEX index_name ON table_name ( column1, column2.....); 

CREATE INDEX idx_nama ON MAHASISWA ( nama ); 

ALTER TABLE MAHASISWA DROP INDEX idx_nama; 

Thursday, November 14, 2019

Tips Dan Trik Array Pada Pl/Sql

Apa Itu Array?

Array yaitu tipe data collection yang berisi kumpulan data yang memiliki tipe data yang sama. Pada Oracle PL/SQL, Array dimulai dari index ke-1.

Ukuran dari Array yaitu tetap.

Membuat Array

Di bawah ini yaitu sintak dasar untuk menciptakan Array di PL/SQL:

Sintak Dasar:

CREATE OR REPLACE TYPE varray_type_name IS VARRAY(n) of ; 

Contoh:

CREATE Or REPLACE TYPE arrayMHS AS VARRAY(5) OF VARCHAR2(10); / Type created. 

Contoh Program #1

Pada Contoh Program#1 ini kita akan menciptakan jadwal PL/SQL untuk menyimpan data di Array.

DECLARE    type arraynama IS VARRAY(5) OF VARCHAR2(50);    type arraynilai IS VARRAY(5) OF INTEGER;    names arraynama;    grades arraynilai;    total integer; BEGIN    names := arraynama('Nursalim', 'Nani Indriyani', 'Iskiyati', 'Nurul Hikmah', 'Sri Rahayu');    grades:= arraynilai(98, 97, 78, 87, 92);    total := names.count;    DBMS_OUTPUT.PUT_LINE('Total '|| total || ' Mahasiswa');    FOR i in 1 .. total LOOP       DBMS_OUTPUT.PUT_LINE('Nama Mahasiswa : ' || names(i) || '     Nilai: ' || grades(i));    END LOOP; END; / 

Output

Total 5 Mahasiswa Nama Mahasiswa : Nursalim     Nilai: 98 Nama Mahasiswa : Nani Indriyani     Nilai: 97 Nama Mahasiswa : Iskiyati     Nilai: 78 Nama Mahasiswa : Nurul Hikmah     Nilai: 87 Nama Mahasiswa : Sri Rahayu     Nilai: 92  PL/SQL procedure successfully completed. 

Contoh Program #2

Pada Contoh Program #2 ini, kita akan menciptakan Array yang datanya berasal dari sebuah tabel di Oracle database. Prosesnya yaitu Anda query terlebih dahulu dengan memakai Cursor dan datanya di simpan dalam Array.

Langkah-langkahnya adalah:

1. Buat tabel Mahasiswa

CREATE TABLE MAHASISWA (   NPM      VARCHAR2(10 BYTE),   NAMA     VARCHAR2(50 BYTE),   JURUSAN  VARCHAR2(50 BYTE) ); 

2. Insert data ke tabel Mahasiswa

SET DEFINE OFF; Insert into MAHASISWA    (NPM, NAMA, JURUSAN)  Values    ('2015001', 'Nursalim', 'Teknik Informatika'); Insert into MAHASISWA    (NPM, NAMA, JURUSAN)  Values    ('2015002', 'Nani Indriyani', 'Bahasa Inggris'); Insert into MAHASISWA    (NPM, NAMA, JURUSAN)  Values    ('2015003', 'Desi Lisnawati', 'Biologi'); COMMIT;  

3. Buat jadwal PL/SQL untuk menyimpan data mahasiswa dalam bentuk Array.

DECLARE    CURSOR c_mahasiswa    IS SELECT nama FROM mahasiswa;     TYPE c_list IS VARRAY (6) OF mahasiswa.nama%TYPE;     daftar_nama   c_list := c_list ();    counter     INTEGER := 0; BEGIN    FOR n IN c_mahasiswa    LOOP       counter := counter + 1;       daftar_nama.EXTEND;       daftar_nama (counter) := n.nama;       DBMS_OUTPUT.put_line (          'Nama Mahasiswa (' || counter || '):' || daftar_nama (counter));    END LOOP; END; 

4. Output

Nama Mahasiswa (1):Nursalim Nama Mahasiswa (2):Nani Indriyani Nama Mahasiswa (3):Desi Lisnawati  PL/SQL procedure successfully completed. 

Tips Dan Trik Triggers Pada Pl/Sql

Sintak Dasar

Di bawah ini yakni sintak dasar untuk menciptakan trigger database di Oracle PL/SQL:

CREATE [OR REPLACE ] TRIGGER trigger_name {BEFORE | AFTER | INSTEAD OF } {INSERT [OR] | UPDATE [OR] | DELETE} [OF col_name] ON table_name [REFERENCING OLD AS o NEW AS n] [FOR EACH ROW] WHEN (condition) DECLARE    Declaration-statements BEGIN    Executable-statements EXCEPTION    Exception-handling-statements END; 

Contoh Program #1

Di bawah ini yakni rujukan aktivitas trigger Before Delete Or Insert Or Update di Oracle PL/SQL:

CREATE OR REPLACE TRIGGER name_changes_trigger    BEFORE DELETE OR INSERT OR UPDATE    ON mahasiswa    FOR EACH ROW DECLARE     BEGIN        IF length(:new.npm) < 7 THEN         raise_application_error(-20015, 'Panjang NPM dihentikan kurang dari 7 digit');    END IF;     DBMS_OUTPUT.put_line ('Nama Lama: ' || :OLD.nama);    DBMS_OUTPUT.put_line ('Nama Baru: ' || :NEW.nama); END; 

Coba Anda masukkan perintah insert data menyerupai dibawah ini dengan panjang NPM kurang dari 7 digit

INSERT INTO mahasiswa VALUES('001','Nanana','Teknik Komputer');  

Maka akan keluar error

ERROR at line 1: ORA-20015: Panjang NPM dihentikan kurang dari 7 digit ORA-06512: at "NANO.NAME_CHANGES_TRIGGER", line 6 ORA-04088: error during execution of trigger 'NANO.NAME_CHANGES_TRIGGER' 

Contoh Program#2

Di bawah ini yakni rujukan aktivitas trigger After Update di Oracle PL/SQL:

DROP TRIGGER NANO.NAME_CHANGES_TRIGGER_2;  CREATE OR REPLACE TRIGGER NANO.name_changes_trigger_2    AFTER UPDATE    ON NANO.MAHASISWA    FOR EACH ROW DECLARE     BEGIN        IF length(:new.npm) < 7 THEN         raise_application_error(-20015, 'Panjang NPM dihentikan kurang dari 7 digit');    END IF;     DBMS_OUTPUT.put_line ('Nama Lama: ' || :OLD.nama);    DBMS_OUTPUT.put_line ('Nama Baru: ' || :NEW.nama); END; /  
Coba Anda test trigger yang telah anda buat dengan memakai perintah UPDATE menyerupai di bawah ini:

SQL> SET serveroutput on; SQL> UPDATE mahasiswa SET nama = 'Naura Krasiva' WHERE npm = '2015002'; Nama Lama: Nani Indriyani Nama Baru: Naura Krasiva  1 row updated.  

Melihat Daftar Trigger

Di bawah ini yakni query untuk melihat daftar trigger yang ada di database:

SQL> set linesize 1000; SQL> select owner, object_name, status   2  from all_objects   3  where object_type = 'TRIGGER';  OWNER                          OBJECT_NAME                    STATUS ------------------------------ ------------------------------ ------- NANO                           NAME_CHANGES_TRIGGER           VALID NANO                           NAME_CHANGES_TRIGGER_2         VALID