Друг малък елемент, който мисля, че ще помогне на хората да се развиват и да бъдат по-продуктивни в разработването на своите бази данни. Аз съм фен на съхранените процедури и функции, когато разработвам софтуерни решения. Харесва ми действителните ми CRUD методи да се прилагат на ниво база данни. Това ми позволява да балансирам работата си между приложния софтуер (бизнес логика и достъп до данни) и самата база данни. Не искам да започвам религиозна война, но искам да позволя на хората да разработват съхранени процедури по-бързо и с най-добри практики чрез шаблони.
Нека започнем с създаване на ваши собствени шаблони в SQL Server 2005 Management Studio. Първо, трябва да покажете Template Explorer в Studio.
алтернативен текст http://www.cloudsocket.com/images/image-thumb10.png
Това ще покаже следното:
алтернативен текст http://www.cloudsocket.com/images/image-thumb11.png
алтернативен текст http://www.cloudsocket.com/images/image-thumb12.png
алтернативен текст http://www.cloudsocket.com/images/image-thumb13.png
IDE ще създаде празен шаблон. За да редактирате шаблона, щракнете с десния бутон върху шаблона и изберете Редактиране. Ще получите празен прозорец за заявки в IDE. Вече можете да вмъкнете изпълнението на вашия шаблон. Имам тук шаблона на новата съхранена процедура, който включва TRY CATCH. Обичам да включвам обработка на грешки в моите съхранени процедури. С новата добавка TRY CATCH към TSQL в SQL Server 2005 трябва да се опитаме да използваме този мощен механизъм за обработка на изключения чрез нашия код, включително кода на базата данни. Запазете шаблона и сте готови да използвате новия си шаблон за създаване на съхранена процедура.
-- ======================================================
-- 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