Monday, March 29, 2021

TRIGGER

 RAMA SUHERMAN

19312152

TUGAS TRIGGER

use sample_pbd_Rama

ALTER TABLE products ADD stock INT

 



 

CREATE TABLE Log_products (prod_id char(5) not null,

status_prod varchar(10) not null,

status_date datetime DEFAULT GETDATE());

select * from Log_products

 



 

update products SET stock = 100;

 



 

SOAL 1

Buatlah trigger dengan nama simpan_product yang aktif pada saat ada penambahan data di tabel product. Action => menyimpan data ke dalam Tabel Log_products dengan status ADDED

CREATE TRIGGER simpan_produk

ON products

AFTER INSERT

AS

BEGIN

       DECLARE @id CHAR(5)

       SELECT @id = prod_id from inserted

 

       INSERT INTO Log_products(prod_id,status_prod)

       VALUES (@id, 'added')

END

 



 

INSERT INTO products VALUES

('P0007','Puma FX',350000,'V0001',100);

 



 


 

select * from Log_products




SOAL 2

Setelah menghapus data dari tabel products, trigger akan aktif dan menambahkan data ketabel Log_products. Mari kita lihat dari trigger dengan menambahkan tabel Log_products

CREATE TRIGGER hapus_produk

ON products

AFTER DELETE

AS

BEGIN

       DECLARE @id CHAR(5)

       SELECT @id = prod_id from deleted

 

       INSERT INTO Log_products(prod_id,status_prod)

       VALUES (@id,'deleted')

END;

 

DELETE FROM products

WHERE prod_id = 'P0008'

select * from Log_products

 



SOAL 3

Buatlah sebuah trigger dengan nama simpan_orderitems, trigger aktif setelah menyimpan data pada tabel orderitem. Action => merubah stock pada tabel Products(stok berkurang)


 

CREATE TRIGGER simpan_orderitem

ON orderitems

AFTER INSERT

AS

BEGIN

       DECLARE @id CHAR(5), @Qty INT

       SELECT @id = prod_id,@Qty = quantity

       FROM inserted

 

       UPDATE products SET stock = stock-@Qty

       WHERE prod_id = @id

END;

 

INSERT INTO orderitems VALUES

('O0002','P0005',3);

 



CREATE TRIGGER hapus_orderitem

ON orderitems

AFTER DELETE

AS

BEGIN

       DECLARE @id CHAR(5), @Qty INT

       SELECT @id = prod_id,@Qty = quantity

       FROM deleted

 

       UPDATE products SET stock = stock-@Qty

       WHERE prod_id = @id

END;

 

DELETE FROM orderitems WHERE order_num = 'O0002'

select * from products



 

Wednesday, March 24, 2021


Stored Procedure

NAMA : RAMA SUHERMAN
KELAS : IF 19A

Soal 1

            Buatlah sebuah stored procedure dengan nama hapus_vendors, yang dapat menghapus data vendors berdasarkan kode vendors yang diinputkan, lalu menampilkan semua data vendors yang terbaru. 

CREATE PROCEDURE hapus_vendor

@VEND_ID CHAR(5)

AS

BEGIN

delete vendors where vend_id = @VEND_ID;

SELECT * FROM vendors;

END;

 

EXECUTE hapus_vendor 'V0090';

 



 


Soal 2

            Buatlah sebuah stored procedure dengan nama update_vendors, yang dapat merubah nama pada data vendors berdasarkan kode vendors yang diinputkan, lalu menampilkan semua data vendors yang terbaru.

 

CREATE PROCEDURE update_vendorss

@IDNAME CHAR(5),

@NAME varchar(50)

AS

BEGIN

update vendors set vend_name = @NAME where vend_id = @IDNAME;

select * from vendors;

END;

 

EXECUTE update_vendorss 'V0003','Lama';




Soal 3

            Buatlah sebuah stored procedure dengan nama cari_vendors, yang dapat menampilkan data vendors berdasarkan nama vendors yang diinputkan

CREATE PROCEDURE cari_vendors AS

BEGIN

select * from vendors where vend_name LIKE '%A%';

END;

EXECUTE cari_vendors;