PERANCANGAN DATA BASE SISTEM INFORMASI MANAJEMEN PENDIDIKAN DENGAN DBMS MICROSOFT ACCES DAN SQL SERVER
122
Pada contoh kali ini akan dibuat SVF untuk mendapatkan nilai pada kolom field baru yang dihasilkan dari perkalian dua kolom. Dua
kolom ini dapat ditentukan secara langsung saat eksekusi SVF.
Gambar 5.45: Fungsi subtotal Fungsi subtotal di atas digunakan untuk menampilkan hasil kali
dua kolom yang di-parsing melalui parameter qty dan price. Fungsi ini mengembalikan nilai bertipe data float.
Gambar 5.46: Proses dan hasil eksekusi fungsi subtotal
Perintah SQL di atas merupakan contoh eksekusi SVF yang telah
dibuat, yaitu fungsi subtotal. Karena pemanggilan fungsinya
PERANCANGAN DATA BASE SISTEM INFORMASI MANAJEMEN PENDIDIKAN DENGAN DBMS MICROSOFT ACCES DAN SQL SERVER
123
subtotalquantity, price maka hasil yang dikembalikan berupa hasil perkalian dari kolom quantity dan price.
5.7.3 Multi-Statement Table-Valued Function
Secara umum multi-statement table-valued function disingkat MTVF mirip dengan inline table-valued function ITVF, perbedaanya
hanya pada poin-poin berikut ini.
Variabel table yang akan dikembalikan oleh fungsi harus
didefinisikan di awal fungsi.
MTVF harus mempunyai blok BEGINEND. Di dalam blok BEGINEND harus ada kode yang menghasilkan
variabel table.
MTVF harus mengembalikan nilai.
ITVF hanya mengembalikan statemen SELECT, tidak ada variabel table di dalamnya, tidak ada statemen INSERT, dan tidak ada
blok kode. Skrip berikut ini merupakan sintaks umum MTVF.
CREATE FUNCTION Table_Function_Name, sysname, FunctionName -- Add the parameters for the function here
param1, sysname, p1 data_type_for_param1, , int,
param2, sysname, p2 data_type_for_param2, , char
RETURNS Table_Variable_Name, sysname, Table_Var TABLE
-- Add the column definitions for the TABLE variable here
Column_1, sysname, c1 Data_Type_For_Column1, , int,
Column_2, sysname, c2 Data_Type_For_Column2, , int
AS BEGIN
-- Fill the table variable with the rows for your result set
RETURN END
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