Kolejny mały samorodek, który moim zdaniem pomoże ludziom rozwijać się i zwiększać produktywność w rozwoju baz danych. Podczas tworzenia oprogramowania jestem fanem procedur i funkcji składowanych. Podoba mi się, że moje rzeczywiste metody CRUD są wdrażane na poziomie bazy danych. Pozwala mi to zrównoważyć moją pracę pomiędzy oprogramowaniem aplikacyjnym (logika biznesowa i dostęp do danych) a samą bazą danych. Nie chcę rozpoczynać wojny religijnej, ale chcę umożliwić ludziom szybsze opracowywanie zapisanych procedur i najlepszych praktyk za pomocą szablonów.
Zacznijmy od stworzenia własnych szablonów w SQL Server 2005 Management Studio. Najpierw musisz pokazać Eksplorator szablonów w Studio.
tekst alternatywny http://www.cloudsocket.com/images/image-thumb10.png
Spowoduje to wyświetlenie następujących informacji:
tekst alternatywny http://www.cloudsocket.com/images/image-thumb11.png
tekst alternatywny http://www.cloudsocket.com/images/image-thumb12.png
tekst alternatywny http://www.cloudsocket.com/images/image-thumb13.png
IDE utworzy pusty szablon. Aby edytować szablon, kliknij prawym przyciskiem myszy szablon i wybierz Edytuj. Otrzymasz puste okno zapytania w IDE. Możesz teraz wstawić implementację szablonu. Mam tutaj szablon nowej procedury składowanej, aby uwzględnić TRY CATCH. Lubię uwzględniać obsługę błędów w moich procedurach składowanych. Z nowym dodatkiem TRY CATCH do TSQL w SQL Server 2005, powinniśmy spróbować użyć tego potężnego mechanizmu obsługi wyjątków w naszym kodzie, w tym w kodzie bazy danych. Zapisz szablon i będziesz gotowy do użycia nowego szablonu do tworzenia procedury składowanej.
-- ======================================================
-- 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