TRIGGER
Trigger artinya adalah pemicu, namun jika dihubungkan ke database, trigger artinya kode SQL yang dikerjakan oleh DBMS ketika suatu kejadian terjadi, dalam hal ini jika perintah INSERT, UPDATE, atau DELETE dijalankan di DBMS,
misalnya ketika barang A dibeli sejumlah 3 buah maka nanti stock barang akan bertambah 3 secara otomatis. proses tersebut bisa dilakukan dgn trigger
CREATE TRIGGER trigger_name ON { table | view } [ WITH ENCRYPTION ] { { { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] } [ WITH APPEND ] [ NOT FOR REPLICATION ] AS [ { IF UPDATE ( column ) [ { AND | OR } UPDATE ( column ) ] [ ...n ] | IF ( COLUMNS_UPDATED ( ) { bitwise_operator } updated_bitmask ) { comparison_operator } column_bitmask [ ...n ] } ] sql_statement [ ...n ] } }
create table BARANG ( BAR_ID int not null, BAR_NAMA varchar(255) not null, BAR_STOCK int null default 0, constraint PK_BARANG primary key (BAR_ID) )
create table PEMBELIAN ( PEM_ID int not null, BAR_ID int null , PEM_JUMLAH int null , constraint PK_PEMBELIAN primary key (PEM_ID) )
create index RELATION_FK on PEMBELIAN (BAR_ID) go alter table PEMBELIAN add constraint FK_PEMBELIA_RELATION_BARANG foreign key (BAR_ID) references BARANG (BAR_ID) go
create trigger tambahStockbarang on pembelian for insert as update b set b.bar_stock = b.bar_stock + i.pem_jumlah from barang b join inserted i on b.bar_id = i.bar_id