Kali ini saya akan membahas User Defined Table Value Function. Fungsi tersebut akan mengembalikan nilai berupa table yang berisi record-record dari hasil eksekusi query yang didefinisikan didalam fungsi tersebut.
Pada contoh kali ini saya akan membuat sebuah fungsi yang akan mengembalikan record berupa data Employee dengan informasi OrderID, OrderDate, ProductName dan Quantity yang pernah ditangani oleh employee bersangkutan. Database yang digunakan yaitu Northwind yang telah saya masukkan ke dalam SQL Server 2008.
1. Ketikkan script berikut ini didalam database Northwind dan eksekusi di SQL Server Management Studio :
Perintah yang mendefinisikan Table Value function yaitu perintah Returns Table. Setelah itu query nya di buat didalam perintah Return setelah perintah As.
2. Setelah sukses dieksekusi maka fungsi tersebut akan muncul di folder database yang anda gunakan, gambarnya dapat dilihat dibawah ini :
3. Eksekusi fungsi tersebut dengan menjalankan perintah Select dan masukkan input berupa nilai EmployeeID :
Perintah Select untuk menjalankan Table Value Function sama seperti yang biasa dilakukan pada perintah Select DML umumnya terhadap sebuah table, namun perbedaannya yaitu kita dapat langsung memberikan input parameternya ke dalam fungsi tersebut. Dari gambar diatas dapat kita lihat hasil eksekusi fungsi tersebut berupa record-record. Tentunya anda dapat melihat perbedaan antara scalar value dan table value function.