PRAKTIKUM PL/SQL (Trigger) OLEH : WIRATMOKO YUWONO, ST

dokumen-dokumen yang mirip
Bab 5. Database Trigger POKOK BAHASAN: TUJUAN BELAJAR: 5.1. PENDAHULUAN

Pertemuan VII TRIGGERS

Mudafiq Riyan Pratama

TRIGGER TRIGGER 5/29/2017 HANI IRMAYANTI, S.KOM

Praktikum TRIGGER. Tujuan :

Persiapan Table Untuk Latihan Sebelum kita berkenalan lebih jauh dengan Trigger, mari kita buat terlebih dahulu, struktur table yang dibutuhkan.

Cara Membuat Trigger di MySQL

Modul Pembangunan Aplikasi Basis Data Lanjut 2014

Kontrak Kuliah. Trigger dan Scheduled Events. Edi Sugiarto, S.Kom, M.Kom

Modul 6 Function dan Trigger

Cara Membuat Trigger di MySQL

Contoh SQL Constraint

Transaction dan Trigger. M. Saefudin SKom, MMSI

Constraint dan Manajemen Data dalam Timezone Berbeda

BAB VIII FUNGSI, PL/PGSQL dan TRIGER

Triggers. by: Ahmad Syauqi Ahsan

TRIGGER. Tujuan Mata Kuliah. Tools yang digunakan. Sesi7 : TRIGGER. Praktikum Pemrograman Client Server Database Hadi Kusumah, S.T.

PRAKTIKUM BASIS DATA TERDISTRIBUSI MODUL 4 SINKRONISASI DATA

TUGAS PRAKTIKUM SISTEM BASIS DATA

Praktikum Basis Data 14 Structure Query Language 2

TUGAS I PRAKTIKUM SISTEM BASIS DATA. Nama: Krisna Pandu Wibowo( )

Praktikum Basis Data 2017 TE UM MODUL 8 TRIGGER A. TUJUAN

Basis Data II. Pertemuan Ke-9 dan ke-10 (Stored Procedure dan Trigger) Noor Ifada S1 T. Informatika - UTM (2012) 1

Computer Science, University of Brawijaya. Putra Pandu Adikara, S.Kom. Trigger. Basis Data 2

MODUL 4 INTERNET PROGRAMMING DATABASE

JobsheetTEUM MODUL VI TRIGGER

TUGAS 1 PRAKTIKUM SISTEM BASIS DATA

LAMPIRAN 1 LIST CODE DATABASE TRIGGER

PRAKTIKUM SISTEM BASIS DATA. Tugas I. Disusun oleh: Yoga Asmara (TI/ )

3.1 Form Wizard. 3. Pilihlah menu use data block wizard dan tekanlah button OK, maka akan tampil window di bawah ini.

PRAKTIKUM SISTEM BASIS DATA

CONSTRAINT clients_client_num_pk PRIMARY KEY (client_number));

LAPORAN TUGAS Pemrograman Berbasis Java

B a s i s D a t a - 1 C H A P T E R. SQL Operasi DML. Copyright 2005 PENS-ITS

TUGAS PRAKTIKUM SISTEM BASIS DATA

Nama : Parisaktiana Fathonah NIM : Kelas : Prak Sistem Basis Data TI-2 B malam

PRAKTIKUM SISTEM BASISDATA

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs.

Introduction to SQL. Database Programming. 2 nd Chapter

PRAKTIKUM BASIS DATA TERDISTRIBUSI MODUL 3 DATABASE LINK DENGAN HETEROENOUS SERVICE

Basis Data 2. Procedure dan Function Database. Arif Basofi, S.Kom. MT. Teknik Informatika, PENS

IMPLEMENTASI TRIGGER, STORED PROCEDURE, FUNCTION DAN VIEW PADA MYSQL DALAM PERANCANGAN SYSTEM INVENTORY CAFFE BOULEVARD JAYAPURA

DATABASE RUMAH SAKIT 1. Objek yang dipakai a. Pasien b. Dokter c. Ruang d. Petugas e. Rawat_inap f. Pembayaran

MySQL Databases. Dasar-dasar MySQL dan Implementasi MySQL kedalam pemrograman PHP. Jakarta, 16 April 2011 Oleh: M. Awaludin, S.Kom

MODUL 4. Query SELECT dan DML (INSERT, UPDATE, DELETE) PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

Basis Data. Bagian IV SQL (3) Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

Syntax Syntax SQL. Untuk lebih jelasnya dapat dilihat sebagai berikut : 1. DDL (Definition Data Language) a. CREATE

MODUL PRAKTIKUM 04. Database Implementation dengan Perintah SQL

Transact-SQL (Trigger- Event, Store Procedure)

B a s i s D a t a - 1 C H A P T E R. SQL Operasi DML. Copyright 2005 PENS-ITS

PERTEMUAN 9 MANIPULASI DATA

Contoh SQL Constraint

5. Database MySQL. Apa Database MySQL Itu? Hirarki Dalam Database. Table

B a s i s D a t a C H A P T E R. SQL Operasi DML. Arif Basofi PENS 2015

P - 7 Pembahasan UTS PSIK V

LAPORAN PRAKTIKUM SISTEM BASIS DATA

Untuk menjalankan Mysql secara konpensional jalankan Mysql.exe pada direktori Mysql\Bin. Akan tampak tampilan sebagai berikut:

SISTEM BASIS DATA Pertemuan 11 Structure Query Language DDL - DML

LAPORAN PRAKTIKUM SISTEM BASIS DATA

Pertemuan IX MANAJEMEN TRANSAKSI

Pertemuan VI F U N C T I O N

By Mrs Imana Malia Kondou, S.T. missimanakondou.wordpress.com

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL

Modul 3 : Query Penggabungan Tabel

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2

S Q L. Sejarah SQL. Penulisan Perintah SQL. SQL (Structure Query Language)

BAB II PEMBUATAN DAN MANAJEMEN TABLE

Agenda SQL. Pemakai SQL. Kemampuan SQL 02/12/2010 STRUCTURED QUERY LANGUAGE (SQL) Structured Query Language (SQL) (Pert. 9)

PRAKTIKUM SISTEM BASISDATA. Disusun Oleh : Anggi Nurcahyo ( )

Pengenalan PL/SQL. Pertemuan 3

TUGAS 1 PRAKTIKUM SISTEM BASIS DATA

DATABASE - MySQL. Muhammad Zen S. Hadi, ST. MSc.

Basis Data Spasial Modul 2

1 TEKNOLOGI OBJECT-RELATIONAL DBMS pada ORACLE 10g

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN WEB Semester: 2 MYSQL 200 menit No.: Job: 12 Tgl: Hal.

DATABASE MYSQL DENGAN PHP

Jobsheet SQL Dasar : Hari Zulianto, ST [Year]

Kusnawi, S.Kom, M.Eng

DAFTAR PUSTAKA. Adi Nugroho, Menjadi Administrator Basis Data Oracle 10g, Budi Rahardjo, Imam Heryanto, Pemograman PL/SQL ORACLE, 2003

Pengenalan Structured Query Language

Oracle dengan Visual Basic. Arif Basofi Politeknik Elektronika Negeri Surabaya ITS 2012

Gambar Layar pertama untuk pemecahan masalah Lost Update

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB 4 : Interaksi PL/SQL dengan Oracle Server

Contoh Aplika Aplik si a VB dengan Database Oracle 1

Oracle Academic Initiative

TUGAS 1 PRAKTIKUM SISTEM BASIS DATA

STRUCTURE QUERY LANGUAGE (SQL)

TUGAS BASIS DATA LANJUT

Perancangan Aplikasi Rencana Kerja dan Anggaran (RKA) Laboratorium

PRAKTIKUM BASIS DATA TERDISTRIBUSI MODUL 4 SINKRONISASI DATA

TUGAS PRAKTIKUM SISTEM BASIS DATA

INTEGRITAS BASIS DATA. OLEH : Slamet Sn Wibowo Wicaksono

MODUL 1. Pembuatan tabel, pendefinisian constraint, export dan import PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

Stored Procedure (create, calling SP dari Oracle dan dari JAVA)

Pertemuan 10. Bahasa Query Terapan

Contoh 3.1: Membuat suatu store procedure supaya menghapus semua pertandingan pemain berdasarkan nomor pemain yang ditentukan.

Perancangan Halaman Tampil Pelunasan Perancangan Halaman Tampil Transaksi

Rencana Pelaksanaan Pembelajaran

Transkripsi:

PRAKTIKUM PL/SQL (Trigger) OLEH : WIRATMOKO YUWONO, ST 1

PRAKTIKUM PL/SQL (Trigger) 1. Statement Trigger dan Row Trigger Syntax Statement trigger : CREATE [OR REPLACE] TRIGGER trigger_name timing event1 [OR event2 OR event3] ON table_name trigger_body(pl/sql) Syntax Row trigger CREATE [OR REPLACE] TRIGGER trigger_name timing event1 [OR event2 OR event3] ON table_name [REFERENCING OLD AS old NEW AS new] FOR EACH ROW [WHEN (condition)] trigger_body 2. Contoh statement trigger Penulis membuat table log pada user scott dengan field sebagai berikut : - Field Tanggal Type Data Date - Field Komentar Type Data Varchar2(100) 2

A. Mendeteksi operasi DML pada table EMP diuser Scott dan kemudian histori operasi DML tersebut dicatat pada table log CREATE OR REPLACE TRIGGER TLOG AFTER INSERT OR UPDATE OR DELETE ON EMP DECLARE BEGIN IF INSERTING THEN insert into log (tanggal,komentar) values (sysdate,'memasukkan Data'); ELSIF UPDATING THEN insert into log (tanggal,komentar) values (sysdate,'mengubah Data'); ELSIF DELETING THEN insert into log (tanggal,komentar) values (sysdate,'menghapus Data'); END IF; END; - Kemudian lakukan operasi DML sebagai berikut : insert into emp values (8000,'Moko','SALESMAN',7900,SYSDATE,8000,null,null); update emp set ename='wiratmoko',sal=10000 where empno=8000; delete from emp where empno=8000; commit; - Maka table log akan berisi data sebagai berikut : 3

3. Contoh Row Trigger Penulis membuat beberapa table pada user scott dengan field sebagai berikut : Table Barang : 1. Field id type data number(10) Not Null 2. Field nama type data varchar2(50) Not Null 3. Field spesifikasi type data varchar2(200) Null 4. Field jumlah type data number(5) Null 5. Field satuan type data varchar2(20) Null 6. Field tanggal type data date null Table Log : 1. Field tanggal type data date Not Null 2. Field komentar type data varchar2(100) Not Null 1. Contoh kasus 1. Buatlah row trigger (namai TLAT1) yang melakukan pengecekan terhadap update data pada tabel barang. Timing trigger yang dipakai adalah BEFORE. Body trigger berisi, insert data pada tabel LOG, dengan ketentuan. Field tanggal berisi data baru dari field tanggal dari tabel barang Field komentar berisi Ubah data dari + data lama dari field nama dari tabel barang Jawaban : CREATE OR REPLACE TRIGGER TLAT1 BEFORE UPDATE ON barang FOR EACH ROW DECLARE BEGIN Insert into log (tanggal,komentar) values (:new.tanggal,'ubah data dari ' :old.nama); END; - Kemudian lakukan operasi DML sebagai berikut : insert into barang (id,nama,spesifikasi,jumlah,satuan,tanggal) values (1,'Jeruk', 'Jeruk Malang',10,'Buah',sysdate); update barang set nama='mangga',spesifikasi='mangga Gadung', tanggal='01-jan-2006' where id=1; commit; 4

- Maka table log akan berisi data sebagai berikut : 2. Buatlah row trigger (namai TLAT2) yang melakukan pengecekan terhadap delete data pada tabel barang. Timing trigger yang dipakai adalah AFTER. Body trigger berisi insert data pada tabel LOG dengan ketentuan. Jika data pada field jumlah pada field barang yang dihapus adalah berisi kurang dari 50 maka masukkan data pada tabel LOG. - Field tanggal berisi data lama dari field tanggal dari tabel barang - Field komentar berisi hapus Data dengan jumlah kurang dari 50 yaitu + data lama dari field jumlah Jika data pada field jumlah pada field barang yang dihapus adalah berisi lebih dari 50 maka masukkan data pada tabel LOG. - Field tanggal berisi data lama dari field tanggal dari tabel barang - Field komentar berisi hapus Data dengan jumlah lebih dari 50 yaitu + data lama dari field jumlah 5

Jawaban : CREATE OR REPLACE TRIGGER TLAT2 AFTER DELETE ON barang FOR EACH ROW DECLARE BEGIN IF :old.jumlah<50 then Insert into log (tanggal,komentar) values (:old.tanggal,'hapus data Dengan jumlah kurang dari 50 yaitu ' :old.jumlah); ELSE Insert into log (tanggal,komentar) values (:old.tanggal,'hapus data Dengan jumlah lebih dari 50 yaitu ' :old.jumlah); END IF; END; - Kemudian lakukan operasi DML sebagai berikut : insert into barang (id,nama,spesifikasi,jumlah,satuan,tanggal) values (1,'Jeruk', 'Jeruk Malang',10,'Buah',sysdate); update barang set nama='mangga',spesifikasi='mangga Gadung', tanggal='01-jan-2006' where id=1; commit; 6

TUGAS PRAKTIKUM Buat Laporan Resmi dari praktikum ini. 1. Tuliskan script membuat table dengan field dan tipe data sbb : Table Barang : a. field id_barang type data number(10) Not Null b. field nama type data varchar2(50) Not Null c. field spesifikasi type data varchar2(200) Null d. field jumlah type data number(5) Not Null e. field harga type data number(20) Not Null f. field satuan type data varchar2(20) Null Table Transaksi a. field nomor_transaksi type data number(10) Not Null b. field id_barang type data number(10) Not Null c. field tanggal type data date Not Null d. field jumlah type data number(5) Not Null Table history a. field id_barang type data number(10) Not Null b. field tanggal type data date Not Null c. field stock type data number(10) Not Null d. field tipe_transaksi data varchar2(20) Not Null 2. Buat row trigger dengan timing BEFORE pada segala operasi DML pada table transaksi dengan aturan sbb : Segala pengubahan data pada field jumlah ditable transaksi akan mengubah data pada field jumlah di table barang. Artinya field jumlah di table barang merupakan data stock barang pada item barang tertentu (atau berasosiasi dengan field id_barang) Segala pengubahan pada field jumlah ditable transaksi akan dicatat pada table history. Khusus tipe transaksi : anda isikan Tambah Data/Ubah Data/Hapus Data sesuai dengan tipe DML pada table transaksi. 7