19312189_A.Hafidz Ramadhan_PBD pertemuan 11

Teori Pemrograman Basis Data Pertemuan 11

Nama : A.Hafidz Ramadhan

NPM : 19312189

Kelas : IF 19 D

Mata Kuliah : Pemrograman Basis Data

Soal 3

Buatlah sebuah trigger dengan nama simpan_orderitems,trigger aktif setelah menyimpan data ke dalam table orderitems. action  pada trigger adalah merubah stock pada table products (stock berkurang).

Jawab :












Penjelasan gambar diatas yaitu kita membuat sebuah trigger dengan nama simpan_orderitems  dan aktif saat memasukan data ke tabel orderitems  dengan event atau perintah after insert. Setelah itu kita membuat atau mendeklarasikan 2 paramater yaitu @simpan dengan tipe data char(5) dan @hasil dengan tipe data integer, menampilkan paramater @simpan dimana sama dengan nama kolom prod_id dan @hasil dimana sama dengan kolom quantity berdasarkan inserted.
Lalu perintah update untuk mengurangi stock yang terdapat dalam tabel product  dan menambahkan menambahkan log penjualan kedalam log_products saat kondisi trigger dijalankan.









Pertama terlebih dahulu kita menambahkan data kedalam tabel order 










Lalu menambahkan data yang ingin di beli oleh customer (O0004) 























Setelah kita menambahkan data ke dalam tabel orderitems maka trigger berjalan dan membuat data pada tabel products berkurang sesuai produk yang dibeli oleh customer04 tadi, seperti kita ketahui customers O0004 memesan produk dengan id P0003 dengan jumlah  , stock yang awalnya 170 berkurang menjadi 160 dan pada tabel log_products langsung  menampilkan produk dengan id P0003  pada kolom  Prod_id dengan status reduced pada kolom status_prod.

Soal 4
Buatlah sebuah trigger dengan nama hapus_orderitems,trigger aktif setelah menghapus data yang ada pada tabel orderitems
action  pada trigger adalah merubah stock pada table products (stock bertambah).
Jawab :












Penjelasan gambar diatas yaitu kita membuat sebuah trigger dengan nama simpan_orderitems  dan aktif saat memasukan data ke tabel orderitems  dengan event atau perintah after insert. Setelah itu kita membuat atau mendeklarasikan 2 paramater yaitu @produkid dengan tipe data char(5) dan @gagal dengan tipe data integer, menampilkan paramater @produkid dimana sama dengan nama kolom prod_id dan @gagal dimana sama dengan kolom quantity berdasarkan deleted.
Lalu perintah update untuk menambahkan stock yang terdapat dalam tabel product  dan  menambahkan log penjualan gagal kedalam log_products saat kondisi trigger dijalankan.




Saat kita melakukan perintah penghapusan data pada tabel orderitems dan trigger langsung berjalan sehingga stok  pada tabel produk yang semula 160 kembali menjadi 170 dan pada tabel log_products status menjadi gagal.



Comments