Nugget kecil lain yang saya pikir akan membantu orang mengembangkan dan menjadi lebih produktif dalam pengembangan database mereka. Saya penggemar prosedur dan fungsi tersimpan ketika saya mengembangkan solusi perangkat lunak. Saya suka metode CRUD saya yang sebenarnya untuk diterapkan di tingkat basis data. Hal ini memungkinkan saya untuk menyeimbangkan pekerjaan saya antara perangkat lunak aplikasi (logika bisnis dan akses data) dan database itu sendiri. Tidak ingin memulai perang agama, tetapi saya ingin mengizinkan orang untuk mengembangkan prosedur tersimpan lebih cepat dan dengan praktik terbaik melalui templat.
Mari kita mulai dengan membuat template Anda sendiri di SQL Server 2005 management Studio. Pertama, Anda perlu menampilkan Template Explorer di Studio.
teks alternatif http://www.cloudsocket.com/images/image-thumb10.png
Ini akan menunjukkan yang berikut:
teks alternatif http://www.cloudsocket.com/images/image-thumb11.png
teks alternatif http://www.cloudsocket.com/images/image-thumb12.png
teks alternatif http://www.cloudsocket.com/images/image-thumb13.png
IDE akan membuat template kosong. Untuk mengedit template, klik kanan pada template dan pilih Edit. Anda akan mendapatkan jendela Query kosong di IDE. Anda sekarang dapat memasukkan implementasi template Anda. Di sini saya memiliki templat prosedur tersimpan yang baru untuk menyertakan TRY CATCH. Saya suka memasukkan penanganan kesalahan dalam prosedur tersimpan saya. Dengan tambahan TRY CATCH baru ke TSQL di SQL Server 2005, kita harus mencoba menggunakan mekanisme penanganan pengecualian yang kuat ini melalui kode kita termasuk kode database. Simpan template dan Anda siap menggunakan template baru untuk pembuatan prosedur tersimpan.
-- ======================================================
-- Create basic stored procedure template with TRY CATCH
-- ======================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE <Procedure_Name, sysname, ProcedureName>
-- Add the parameters for the stored procedure here
<@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <Default_Value_For_Param1, , 0>,
<@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0>
AS
BEGIN TRY
BEGIN TRANSACTION -- Start the transaction
SELECT @p1, @p2
-- If we reach here, success!
COMMIT
END TRY
BEGIN CATCH
-- there was an error
IF @@TRANCOUNT > 0
ROLLBACK
-- Raise an error with the details of the exception
DECLARE @ErrMsg nvarchar(4000), @ErrSeverity int
SELECT @ErrMsg = ERROR_MESSAGE(), @ErrSeverity = ERROR_SEVERITY()
RAISERROR(@ErrMsg, @ErrSeverity, 1)
END CATCH
GO