Multi-Statement Table-Valued Function Membuat UDF

PERANCANGAN DATA BASE SISTEM INFORMASI MANAJEMEN PENDIDIKAN DENGAN DBMS MICROSOFT ACCES DAN SQL SERVER 124 Untuk contoh MTVF akan digunakan contoh yang telah dibahas pada ITVF dengan sedikit modifikasi. Gambar 5.47: Fungsi insCrossTable Fungsi insCrossTable di atas digunakan untuk menampilkan data dari tabel dbo.products untuk selanjutnya data hasil SELECT tersebut disisipkan insert ke dalam tabel baru. Gambar 5.48: Proses dan hasil eksekusi fungsi insCrossTable Perintah SQL di atas merupakan contoh eksekusi MTVF yang telah dibuat, yaitu fungsi insCrossTable. Karena pemanggilan fungsinya ditambahkan klausa WHE‘E a a LIKE LG maka hasil yang dike alika erupa data produk ya g e ga du g kata LG . Data yang dikembalikan oleh fungsi insCrossTable ini selanjutnya disisipkan ke dalam tabel baru dengan nama produkLG. Gambar 5.48 kanan menunjukkan terciptanya tabel baru dengan nama dbo.produkLG hasil eksekusi fungsi insCrossTable.

5.8 Membuat Trigger

Trigger merupakan sebuah bentuk khusus dari stored procedure yang secara otomatis melakukan eksekusi ketika sebuah event terjadi di PERANCANGAN DATA BASE SISTEM INFORMASI MANAJEMEN PENDIDIKAN DENGAN DBMS MICROSOFT ACCES DAN SQL SERVER 125 dalam server database. Trigger dapat mencegah akses terhadap data yang spesifik, melakukan logging atau melakukan audit perubahan data. Berikut adalah beberapa manfaat penggunaan trigger:  Sebagai salah satu mekanisme alternatif untuk menjalankan aturan bisnis dan menjaga integritas data dalam sebuah database. Mekanisme yang lainnya adalah penggunaan constraint.  Dapat mengevaluasi status dari sebuah tabel sebelum dan sesudah terjadi perubahan data dan melakukan aksinya sesuai perbedaan yang terjadi.  Dapat melakukan perubahan secara cascade melalui relasi tabel pada database, akan tetapi perubahan ini akan lebih efisien jika dieksekusi menggunakan referential integrity constraints.  Dapat melakukan pencegahan akses atas data yang kompleks dibanding dengan menggunakan check constraint.  Dapat mereferensikan kolom field dalam tabel yang berbeda. Pada SQL Server 2008 R2, trigger dikelompokkan menjadi tiga, yaitu: Trigger DML data manipulation language, Trigger DDL data definition language, dan Trigger LOGON.

5.8.1 Trigger DML

Trigger DML melakukan eksekusi ketika ada user mencoba melakukan modifikasi data yang behubungan dengan DML. Kejadian event DML dalam hal ini adalah statemen INSERT, UPDATE, dan DELETE data pada sebuah tabel atau view. Namun demikian, trigger tidak dapat digunakan dalam kejadian yang dihasilkan oleh statemen SELECT. Trigger-trigger ini aktif ketika ada satu lebih valid event diaktifkan, terlepas dari ada tidaknya baris data dalam tabel yang terpengaruh affected. Berikut ini merupakan sintaks umum pembuatan trigger DML. Trigger on an INSERT, UPDATE, or DELETE statement to a table or view DML Trigger CREATE TRIGGER [ schema_name . ]trigger_name ON { table | view } [ WITH dml_trigger_option [ ,...n ] ] { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] } [ NOT FOR REPLICATION ]