Showing posts with label Oracle. Show all posts

Cara membuat Scheduler Jobs di Oracle

Dalam sistem Database Management System Oracle ada sebuah fitur yang dapat digunakan menjadwalkan sebuah proses berjalan yaitu bernama DBMS _ SCHEDULER. Pada DBMS_SCHEDULER tersebut, terdapat banyak fungsi yang dapat digunakan antara lain membuat programs, scheduler, dan jobs. Untuk kali ini saya akan berbagi cara membuat jobs. Untuk membuat jobs, kita gunakan fungsi CREATE_JOB pada class DBMS_SCHEDULER. Dalam pembuatan jobs ada beberapa cara yang dapat digunakan yaitu :
- Membuat scheduler dan program terlebih dahulu
- Membuat program saja terlebih dahulu
- Tanpa membuat program ataupun scheduler terlebih dahulu 

Untuk kali ini saya akan memberikan contoh untuk poin yang ke-3 yaitu tanpa membuat program ataupun schedule terlebih dahulu. Maksudnya adalah kita membuat program dan schedule bersamaan dengan kita membuat job. Yang perlu dipersiapkan untuk membuat job ini hanyalah :
- Nama Job
- Tipe Job
- Waktu Mulai
- Waktu Selesai
- Interval Pengulangan
- Proses yang akan dijalankan

Format :
BEGIN
  DBMS_SCHEDULER.CREATE_JOB(
    job_name => 'Nama Job',
    job_type => 'Tipe Job (untuk sekarang gunakan PLSQL_BLOCK)',
    start_time => TO_TIMESTAMP_TZ('2014-05-27','YYYY-MM-DD'),
    end_time => NULL,
    repeat_interval => 'Interval Pengulangan',
    job_action => 'Proses yang akan dijalankan'
  );
END;

Example :
BEGIN
  DBMS_SCHEDULER.CREATE_JOB(
    job_name => 'job_load_name',
    job_type => 'PLSQL_BLOCK',
    start_time => TO_TIMESTAMP_TZ('2014-05-27','YYYY-MM-DD'),
    end_time => NULL,
    repeat_interval => 'FREQ=DAILY',
    job_action => 'BEGIN PROC_LOAD_NAME; END;'
  );
END;


Cara Membuat Function di Oracle


Hallo guys, setelah beberapa waktu yang lalu saya men-share kepada kalian semua tentang cara membuat procedure, maka kali ini saya akan menjelaskan tentang cara membuat function. Sebelum saya menjelaskan tentang function, yang kita harus ketahui adalah apa itu function dan apa gunanya. Function adalah sebuah kumpulan dari banyak statement yang dibungkus menjadi sebuah box yang nantinya akan mengembalikan sebuah nilai. Nilai itu berupa nilai berbentuk NUMBER, VARCHAR2, dll.
Sebelumnya, yang kita harus ketahui bahwa dalam membuat function, ada 3 type parameter yang harus kita tahu yaitu type IN, OUT, IN OUT. 


Untuk ketiga tipe parameter tersebut tidak hanya dapat digunakan di function akan tetapi juga dapat digunakan di pembuatan procedure.  Setelah kita mengetahui 3 type parameter tersebut, baru kita bisa lanjut ke cara pembuatan function. Untuk pembuatan function sama seperti procedure yang berbeda hanya ditambahkannya RETURN di pembuatan function.

Format :
CREATE OR REPLACE function_name (parameter_type parameter_name1, parameter_type parameter_name2) RETURN datatype
IS
--declaration variable
BEGIN
-- PL/SQL Block
END;

Example:
CREATE OR REPLACE get_nama_mhs(IN mhs_id) RETURN VARCHAR2(100)
IS
temp_name VARCHAR2(100);
BEGIN
 SELECT nama INTO temp_name FROM tabel_mhs WHERE id = mhs_id;
 RETURN temp_name;
END; 



Cara Membuat Procedure di Oracle

Hello Guys, belajar itu sangat menarik ya? apalagi sesuatu yang baru, yang belum kita temuin sebelumnya. Ok teman - teman, saya akan berbagi tentang cara membuat procedure di oracle. Mungkin jika sebelumnya kalian adalah seorang programmer, mungkin tidak asing dengan kata procedure. Procedure adalah sekumpulan statement yang dibungkus menjadi satu fungsi, itulah yang disebut dengan procedure, jika sekumpulan statement itu menghasilkan sebuah nilai, itu disebug function. Untuk kali ini, saya akan menjelaskan dahulu cara membuat procedure ya ? untuk pembuatan function di postingan selanjutnya. Ok ????

Format  Create:
CREATE PROCEDURE procedure_name(parameter)
IS
variable_name datatype;
BEGIN
/* PLSQL Block */
END;

Example : 
CREATE PROCEDURE hapus_pegawai(pegawai_id NUMBER)
IS
temp_peg NUMBER;
BEGIN
  temp_peg := pegawai_id;
  DELETE FROM data_pegawai WHERE peg_id = temp_peg;
END;

Format  Drop:
DROP PROCEDURE procedure_name;
Example : 
DROP PROCEDURE hapus_pegawai;




Cara Penggunaan USING, ON, dan WHERE dalam JOIN pada Oracle

Ok teman - teman sekalian, kali ini saya akan berbagi kepada kalian tentang penggunaan USING, ON, dan WHERE dalam JOIN pada oralce. Sebelumnya, postingan saya menjelaskan tentang tata cara penggunaan JOIN, dan sekarang gunakanlah postingan saya sebelumnya agar kalian mengerti tentang penggunaan JOIN terlebih dahulu. Sebelumnya, fungsi dari ketiganya sama saja, tergantung dengan kondisi kasus dalam penggunaannya. Oke, Let's coding...

Format penggunaan ON :
SELECT a.column_name1, a.column_name2, b.column_name1
FROM table_name1 a
JOIN table_name2 b
ON(a.column_name3 = b.column_name3)
Format penggunaan USING :
SELECT a.column_name1, a.column_name2, b.column_name1
FROM table_name1 a
JOIN table_name2 b
USING(column_name3)
Format penggunaan WHERE :
SELECT a.column_name1, a.column_name2, b.column_name1
FROM table_name1 a
JOIN table_name2 b
WHERE a.column_name3 = b.column_name3 


Cara SELECT ... JOIN di Oracle

Hello guys, udah 3 hari ini nggak posting nih.. . Sekarang saatnya saya akan berbagi kepada kalian semua tentang cara SELECT JOIN di oracle. Fungsi dari SELECT JOIN ini sendiri adalah Menampilkan data dari dua tabel menjadi 1 tabel yang saling berelasi atau berhubungan. Jika postingan saya menjelaskan tentang constraint primary key dan foreign key, Nah, constraint itu sangat berguna untuk sekarang teman - teman. Ok deh.. daripada lama - lam berpikiran gimana caranya. Sekarang waktunya kita belajar. C'mon.. Ayo Query..


Format :
SELECT a.column_name1, a.column_name2, b.column_name1
FROM table_name1 a
JOIN table_name2 b
ON(a.column_name3 = b.column_name3)

Sebenarnya, JOIN itu bisa dibagi menjadi 3 fungsi lagi yaitu bisa diganti dengan LEFT OUTER JOIN , RIGHT OUTER JOIN, ataupun NATURAL JOIN. perbedaan antara ketiganya adalah
  - LEFT OUTER JOIN menggabungkan kedua table yang berelasi akan tetapi membiarkan jika 
    tabel kedua kosong/ tidak memiliki pasangan.
  - RIGHT OUTER JOIN menggabungkan kedua table yang berelasi akan tetapi membiarkan jika 
    tabel pertama  kosong/ tidak memiliki pasangan.
  - NATURAL JOIN menggabungkan kedua table yang berelasi dan tidak mengizinkan bila ada data 
    yang tidak memilliki pasangan

Example:
--natural join
SELECT a.NIM, a.NAMA_MHS, b.TELEPON_MHS, b.EMAIL_MHS
FROM mahasiswa_tester a
JOIN telepon_mahasiswa_test b
ON(a.NIM = b.NIM)
-- left join
SELECT a.NIM, a.NAMA_MHS, b.TELEPON_MHS, b.EMAIL_MHS
FROM mahasiswa_tester a
LEFT OUTER JOIN telepon_mahasiswa_test b
ON(a.NIM = b.NIM)
-- right join
SELECT a.NIM, a.NAMA_MHS, b.TELEPON_MHS, b.EMAIL_MHS
FROM mahasiswa_tester a
RIGHT OUTER JOIN telepon_mahasiswa_test b
ON(a.NIM = b.NIM)




Cara Menghapus Trigger di Oracle

Halo semuanya, untuk kali ini saya akan berbagi kepada kalian cara menghapus trigger di oracle. Setelah sebelumnya saya telah mem-posting "Cara Membuat Trigger di Oracle", untuk sekarang cara untuk menghapusnya. Fungsi untuk menghapus trigger bisa dilakukan jika kita sebelumnya sudah membuat trigger.. Yaiyalah ya ??? :).  Ok, langsung saja ke querynya ya..

Format : DROP TRIGGER TRIGGER_NAME;
Example : DROP TRIGGER AFT_INS_CATALOG;

Cara Membuat Trigger di Oracle



Untuk kali ini, saya akan berbagi kepada kalian semua tentang cara mengelola trigger di oracle. Trigger seperti diartikan kedalam bahasa indonesia yaitu pemicu. Jadi trigger akan berjalan jika sesuatu terjadi. Trigger tidak akan berjalan sendiri tanpa adanya aksi sebelumnya. Trigger di oralce adalah sesuatu aksi yang bekerja ketika adanya aksi sebelumnya, bisa itu berupa INSERT, UPDATE, maupun DELETE. Trigger hanya dapat dipasang di sebuah tabel, tidak di objek yang lain.
Oke... Sekarang kita langsung ke prosesnya ya, dari pada bingung mendengar cerita tidak jelas dari saya. :)

Format :
CREATE OR REPLACE TRIGGER TRIGGER_NAME BEFORE INSERT ON TABLE_NAME
FOR EACH ROW
DECLARE
  VARIABLE_NAME DATATYPE;
BEGIN
/* PLSQL BLOCK */
END;

Deskripsi :
- TRIGGER_NAME      : Format ini dapat kalian ganti sesuai dengan nama trigger yang diinginkan.
- TABLE_NAME            : Format ini diganti dengan nama tabel yang akan dijadikan sebagai objek,
                                         tempat atau posisi trigger akan bekerja.

Example :
CREATE OR REPLACE TRIGGER TEMP_INS_TRIGGER BEFORE INSERT ON TEMP_TABLE_ONE
FOR EACH ROW
DECLARE
 studentNumber NUMBER;
 BEGIN
    SELECT catalogId into studentNumber  FROM Catalog;
    INSERT INTO stock(customer) values(studentNumber);
 END;


Oke guys.. silahkan dicoba ya... :)

Membuat Sequence di Oracle

Hallo semuanya.. kali ini saya akan men-sharing kepada kalian semua, cara membuat sequence di oracle. Sequence adalah sebuah fitur dari oracle agar kita dapat menghasilkan suatu nilai secara sequence atau berurutan. Sequence bisa kita gunakan sebagai auto increment bila kita ingin samakan dengan auto increment di MySQL.
Fungsi - fungsi utama yang umum digunakan di oracle adalah CREATE dan DROP. CREATE digunakan untuk membuat sequence sedangkan DROP untuk menghapus sequence tersebut. Ok, Let's do that . . . .


Format : 
CREATE SEQUENCE SEQUENCE_NAME
START WITH NUMBER_START
INCREMENT BY NUMBER_INC
MAXVALUE NUMBER_MAX
MINVALUE NUMBER_MIN;

Deskripsi :
SEQUENCE_NAME      : Format ini bisa kalian ganti dengan nama sequence yang kalian inginkan
NUMBER_START          : Format ini bisa kalian ganti berupa angka. yaitu sebagai angka pemulai
                                           dari sequence tersebut
NUMBER_INC               : Format ini bisa kalian ganti berupa angka. yaitu sebagai interval atau jarak
                                           angka dari suatu sequence
NUMBER_MAX             : Format ini bisa kalian ganti berupa angka. yaitu sebagai nilai maksimal 
                                          yang dapat dicapai oleh sequence tersebut
NUMBER_MIN              : Format ini bisa kalian ganti berupa angka. yaitu sebagai nilai minimal  
                                           dari sequence tersebut

Example :
CREATE SEQUENCE TEMP_SEQ
START WITH 1
INCREMENT BY 1
MAXVALUE 999
MINVALUE 1;



  

Membuat Tabel di Oracle

Hello guys, pada kesempatan ini saya akan memberikan pengetahuan kepada teman - teman sekalian cara membuat table di oracle. Mungkin dari kalian sudah mengetahuinya, tapi ya berbagi ngk ada salahnya kan??  :).
CREATE TABLE TABLE_NAME (
    COLUMN_NAME_1 DATATYPE,
    COLUMN_NAME_2 DATATYPE,
 
    COLUMN_NAME_3 DATATYPE
);


Deskripsi :
TABLE_NAME       : Format itu kalian bisa ganti dengan nama tabel sesuai keinginan.
DATATYPE              : Format ini diisi dengan datatype yang tersedia di oracle.VARCHAR2(255), 
                                    NUMBER, DATE, dsb.
COLUMN_NAME  : Format ini dapat kalian ganti sesuai dengan nama kolom yang diinginkan

Selain itu, jika anda sudah ,mengerti akan foreign key maupun primary key, maka anda bisa menambakan fitur - fitur lain dari oracle seperti primary key dan foreign key. Untuk primary key, anda bisa menambahkan keyword " PRIMARY KEY " setelah DATATYPE, Sedangkan untuk foreign key, anda bisa menambakn keyword " CONSTRAINT name_constraint FOREIGN KEY column_name REFERENCES table_name_reference(column_name_reference) ".

Example :
CREATE TABLE TABLE_NAME (
    COLUMN_NAME_1 DATATYPE PRIMARY KEY,
    COLUMN_NAME_2 DATATYPE,
 
    COLUMN_NAME_3 DATATYPE,  
    CONSTRAINT name_constraint FOREIGN KEY column_name REFERENCES   table_name_reference(column_name_reference)
);


silahkan dicoba ....  :D