Teknik mengembalikan nilai dengan menggunakan Store Procedure
By: pieter_edison@yahoo.com
Dalam topik ini, kita akan membahas beberapa teknik untuk mengembalikan nilai seperti fungsi didalam SQL Server dapat juga dilakukan dengan menggunakan store procedure.
Jadi ketika anda telah terlanjur menggunakan store procedure dalam “role-bussiness” anda, kemudian ingin mengembalikan nilainya ( biasanya untuk menampilkan nilai field dalam suatu report ), saya akan mencoba menerangkan 3 teknik yang mungkin dapat digunakan.
Teknik yang digunakan bisa dengan cara :
1. Menggunakan OUTPUT variable syntax
2. Menggunakan Temporary Tables
3. Menggunakan statement RETURN
Teknik Pertama – Menggunakan OUTPUT variable
Maksud teknik ini kita dapat mendeklarasikan keword OUTPUT pada variable di store procedure yang telah kita buat untuk mengembalikan nilai keluaran.
Contoh penggunaan secara real menggunakan TSQL.
Misalkan di database anda kita menggunakan database pubs yang telah ada terdapat dalam SQL Server anda. Kita ingin mengembalikan nilai berapa banyak Wilayah/Propinsi “CA” yang ada ( dalam hal ini field state ) didalam table authors.
Potongan scriptnya
USE PUBS
GO
CREATE PROC spCountState (
@strstate varchar(2),
@intCount int OUTPUT
)
AS
SELECT @intCount = COUNT(*) FROM dbo.authors
WHERE state=@strstate
GO
Nah, setelah anda menjalankan dan mengeksekusi store procedure diatas, kemudian kita akan melihat pengembalian nilai banyaknya state yang mengandung kata “CA”
Potongan scriptnya
USE PUBS
GO
DECLARE @Count int
EXEC spCountState 'CA', @Count OUTPUT
SELECT TotalState=@Count
GO
Akan menghasilkan pengembalian nilai sebagai berikut :
TotalState
15
Teknik Kedua – Menggunakan Temporary Variabel
Maksud teknik ini kita dapat mengembalikan nilai keluaran menggunakan temporary table di store procedure yang telah kita buat.Temporary table dalam SQL Server bisa dilambangkan dengan # .
Contoh penggunaan secara real menggunakan TSQL.
Sama seperti kasus diatas, saya coba paste kembali kasusnya seperti dibawah ini
Misalkan di database anda kita menggunakan database pubs yang telah ada terdapat dalam SQL Server anda. Kita ingin mengembalikan nilai berapa banyak Wilayah/Propinsi “CA” yang ada ( dalam hal ini field state ) didalam table authors.
NB : Dalam hal ini, untuk mengembalikan nilai ke dalam temporary table kita memodifikasi sedikit store procedure diatas dengan kode script sql dibawah ini.
Potongan scriptnya
USE PUBS
GO
CREATE PROC spCountState2 (
@strstate varchar(2)
)
AS
SELECT COUNT(*) FROM dbo.authors
WHERE state=@strstate
GO
Nah, setelah anda menjalankan dan mengeksekusi store procedure diatas, kemudian kita akan melihat pengembalian nilai banyaknya state yang mengandung kata “CA”
Potongan scriptnya
USE PUBS
GO
CREATE TABLE #CountState (
intCount int
)
INSERT #CountState
EXEC spCountState2 'CA'
SELECT * FROM #CountState
GO
DROP TABLE # CountState
Akan menghasilkan pengembalian nilai yang sama seperti teknik 1 diatas sebagai berikut:
TotalState
15
Teknik Ketiga – Menggunakan statement RETURN
Maksud teknik ini kita dapat mengembalikan nilai keluaran menggunakan statement RETURN di store procedure yang telah kita buat.Tapi kelemahannya, statement RETURN ini akan menghasilkan pengembalian nilai keluaran numerik tunggal, tidak bisa beberapa nilai.
Contoh penggunaan secara real menggunakan TSQL.
Sama seperti kasus diatas, saya coba paste kembali kasusnya seperti dibawah ini
Misalkan di database anda kita menggunakan database pubs yang telah ada terdapat dalam SQL Server anda. Kita ingin mengembalikan nilai berapa banyak Wilayah/Propinsi “CA” yang ada ( dalam hal ini field state ) didalam table authors.
NB : Dalam hal ini, untuk mengembalikan nilai ke dalam statement RETURN kita memodifikasi sedikit store procedure diatas dengan kode script sql dibawah ini.
Potongan scriptnya
USE PUBS
GO
CREATE PROC spCountState3 (
@strstate varchar(2)
)
AS
RETURN (SELECT COUNT(*) FROM dbo.authors
WHERE state=@strstate)
GO
Nah, setelah anda menjalankan dan mengeksekusi store procedure diatas, kemudian kita akan melihat pengembalian nilai banyaknya state yang mengandung kata “CA”
Potongan scriptnya
USE PUBS
GO
DECLARE @Count int
EXEC @Count = spCountState3 'CA'
SELECT TotalState=@Count
GO
Akan menghasilkan pengembalian nilai sebagai berikut :
TotalState
15
Nah dengan ketiga cara tersebut maka anda bebas memilih teknik mana yang ingin anda implementasikan dalam program anda.
Semoga artikel ini bermanfaat bagi anda.
Demikian hasil yang diperoleh dan akhir dari isi tutorial ini.
Segala kritik, komentar mengenai artikel ini dapat disampaikan.
Best Regards,
Pieter
By: pieter_edison@yahoo.com
Dalam topik ini, kita akan membahas beberapa teknik untuk mengembalikan nilai seperti fungsi didalam SQL Server dapat juga dilakukan dengan menggunakan store procedure.
Jadi ketika anda telah terlanjur menggunakan store procedure dalam “role-bussiness” anda, kemudian ingin mengembalikan nilainya ( biasanya untuk menampilkan nilai field dalam suatu report ), saya akan mencoba menerangkan 3 teknik yang mungkin dapat digunakan.
Teknik yang digunakan bisa dengan cara :
1. Menggunakan OUTPUT variable syntax
2. Menggunakan Temporary Tables
3. Menggunakan statement RETURN
Teknik Pertama – Menggunakan OUTPUT variable
Maksud teknik ini kita dapat mendeklarasikan keword OUTPUT pada variable di store procedure yang telah kita buat untuk mengembalikan nilai keluaran.
Contoh penggunaan secara real menggunakan TSQL.
Misalkan di database anda kita menggunakan database pubs yang telah ada terdapat dalam SQL Server anda. Kita ingin mengembalikan nilai berapa banyak Wilayah/Propinsi “CA” yang ada ( dalam hal ini field state ) didalam table authors.
Potongan scriptnya
USE PUBS
GO
CREATE PROC spCountState (
@strstate varchar(2),
@intCount int OUTPUT
)
AS
SELECT @intCount = COUNT(*) FROM dbo.authors
WHERE state=@strstate
GO
Nah, setelah anda menjalankan dan mengeksekusi store procedure diatas, kemudian kita akan melihat pengembalian nilai banyaknya state yang mengandung kata “CA”
Potongan scriptnya
USE PUBS
GO
DECLARE @Count int
EXEC spCountState 'CA', @Count OUTPUT
SELECT TotalState=@Count
GO
Akan menghasilkan pengembalian nilai sebagai berikut :
TotalState
15
Teknik Kedua – Menggunakan Temporary Variabel
Maksud teknik ini kita dapat mengembalikan nilai keluaran menggunakan temporary table di store procedure yang telah kita buat.Temporary table dalam SQL Server bisa dilambangkan dengan # .
Contoh penggunaan secara real menggunakan TSQL.
Sama seperti kasus diatas, saya coba paste kembali kasusnya seperti dibawah ini
Misalkan di database anda kita menggunakan database pubs yang telah ada terdapat dalam SQL Server anda. Kita ingin mengembalikan nilai berapa banyak Wilayah/Propinsi “CA” yang ada ( dalam hal ini field state ) didalam table authors.
NB : Dalam hal ini, untuk mengembalikan nilai ke dalam temporary table kita memodifikasi sedikit store procedure diatas dengan kode script sql dibawah ini.
Potongan scriptnya
USE PUBS
GO
CREATE PROC spCountState2 (
@strstate varchar(2)
)
AS
SELECT COUNT(*) FROM dbo.authors
WHERE state=@strstate
GO
Nah, setelah anda menjalankan dan mengeksekusi store procedure diatas, kemudian kita akan melihat pengembalian nilai banyaknya state yang mengandung kata “CA”
Potongan scriptnya
USE PUBS
GO
CREATE TABLE #CountState (
intCount int
)
INSERT #CountState
EXEC spCountState2 'CA'
SELECT * FROM #CountState
GO
DROP TABLE # CountState
Akan menghasilkan pengembalian nilai yang sama seperti teknik 1 diatas sebagai berikut:
TotalState
15
Teknik Ketiga – Menggunakan statement RETURN
Maksud teknik ini kita dapat mengembalikan nilai keluaran menggunakan statement RETURN di store procedure yang telah kita buat.Tapi kelemahannya, statement RETURN ini akan menghasilkan pengembalian nilai keluaran numerik tunggal, tidak bisa beberapa nilai.
Contoh penggunaan secara real menggunakan TSQL.
Sama seperti kasus diatas, saya coba paste kembali kasusnya seperti dibawah ini
Misalkan di database anda kita menggunakan database pubs yang telah ada terdapat dalam SQL Server anda. Kita ingin mengembalikan nilai berapa banyak Wilayah/Propinsi “CA” yang ada ( dalam hal ini field state ) didalam table authors.
NB : Dalam hal ini, untuk mengembalikan nilai ke dalam statement RETURN kita memodifikasi sedikit store procedure diatas dengan kode script sql dibawah ini.
Potongan scriptnya
USE PUBS
GO
CREATE PROC spCountState3 (
@strstate varchar(2)
)
AS
RETURN (SELECT COUNT(*) FROM dbo.authors
WHERE state=@strstate)
GO
Nah, setelah anda menjalankan dan mengeksekusi store procedure diatas, kemudian kita akan melihat pengembalian nilai banyaknya state yang mengandung kata “CA”
Potongan scriptnya
USE PUBS
GO
DECLARE @Count int
EXEC @Count = spCountState3 'CA'
SELECT TotalState=@Count
GO
Akan menghasilkan pengembalian nilai sebagai berikut :
TotalState
15
Nah dengan ketiga cara tersebut maka anda bebas memilih teknik mana yang ingin anda implementasikan dalam program anda.
Semoga artikel ini bermanfaat bagi anda.
Demikian hasil yang diperoleh dan akhir dari isi tutorial ini.
Segala kritik, komentar mengenai artikel ini dapat disampaikan.
Best Regards,
Pieter

0 Comments:
Post a Comment
<< Home