Teori Pemrograman Basis Data | Pertemuan 11

Nama : Aulia Nuraini
NPM : 19312163
Kelas : IF 19 D
Matkul : Pemrograman Basis Data

Materi Trigger
Soal 3
Buatlah sebuah trigger dengan nama simpan_orderitems, trigger aktif setelah menyimpan data ke dalam tabel orderitems. Action pada trigger adalah merubah stock pada tabel products (stok berkurang).
Jawab :
Query trigger simpan_orderitems
Penjelasan : Untuk membuat sebuah trigger, dapat dengan menuliskan "create trigger <Nama_Trigger>".  Trigger akan aktif ketika kita memasukkan data ke dalam table orderitems, untuk mengetahui akan aktif saat kita memasukkan data, jawabannya terletak pada after insert (trigger dijalankan sesudah record dimasukkan ke database). Kemudian kita mendeklarasikan sebuah variabel id dan totalbeli yang akan diberikan nilai berdasarkan table inserted (tidak berdasarkan tabel aslinya), selanjutnya terdapat query untuk mengurangi stok yang ada di dalam table products, dan menambahkan log penjualan ke dalam tabel log_products ketika trigger dijalankan.

Data table products sebelum dikurangi :

Data table log_product sebelum ditambah :

Melakukan penambahan ke dalam table order

Lalu menambahkan data apa saja yang di beli customer 04 (disini saya membeli Adidas F15 sebanyak 2 pasang)

Ketika melakukan penambahan data ke dalam table orderitems otomatis trigger dijalankan serta stok di dalam tabel products berkurang dan bertambah pada table log_products.

Data table products terbaru (untuk stok Adidas F15 sudah berkurang 2, tinggal tersisa 18)

Data table log_products terbaru

Soal 4
Buatlah sebuah trigger dengan nama hapus_orderitems, trigger aktif setelah menghapus data yang ada pada table orderitems. Action pada trigger adalah merubah stok pada table products(stok bertambah).
Jawab :
Query trigger hapus_orderitems
Penjelasan : Sama halnya seperti soal 3, hanya saja soal 4 menggunakan after delete  Kemudian kita mendeklarasikan sebuah variabel id dan cancelbeli  (kebalikan dari soal 3) yang akan diberikan nilai berdasarkan table deleted (tidak berdasarkan tabel aslinya), selanjutnya terdapat query untuk menambahkan stok yang ada di dalam table products, dan menambahkan log cancel beli ke dalam tabel log_products ketika trigger dijalankan.
Data table products sebelum ditambah 

Data table orderitems sebelum dihapus

Data table log_product sebelum ditambah


Melakukan penghapusan data

Ketika melakukan penghapusan data dari table orderitems otomatis trigger dijalankan serta stok di dalam table products bertambah kembali seperti semula, dan penambahan pada table log_products.
Data table products terbaru (seperti semula)

Data table orderitems terbaru

Data table log_products terbaru














Komentar