Ein weiteres kleines Nugget, von dem ich denke, dass es den Leuten helfen wird, ihre Datenbankentwicklung zu entwickeln und produktiver zu sein. Ich bin ein Fan von gespeicherten Prozeduren und Funktionen, wenn ich Softwarelösungen entwickle. Ich mag es, wenn meine eigentlichen CRUD-Methoden auf Datenbankebene implementiert werden. Es ermöglicht mir, meine Arbeit zwischen der Anwendungssoftware (Geschäftslogik und Datenzugriff) und der Datenbank selbst auszugleichen. Ich möchte keinen Religionskrieg beginnen, aber ich möchte es den Menschen ermöglichen, gespeicherte Prozeduren schneller und mit Best Practices durch Vorlagen zu entwickeln.
Beginnen wir mit der Erstellung eigener Vorlagen im SQL Server 2005 Management Studio. Zuerst müssen Sie den Vorlagen-Explorer im Studio anzeigen.
alternativer Text http://www.cloudsocket.com/images/image-thumb10.png
Dies zeigt Folgendes:
alternativer Text http://www.cloudsocket.com/images/image-thumb11.png
alternativer Text http://www.cloudsocket.com/images/image-thumb12.png
alternativer Text http://www.cloudsocket.com/images/image-thumb13.png
Die IDE erstellt eine leere Vorlage. Um die Vorlage zu bearbeiten, klicken Sie mit der rechten Maustaste auf die Vorlage und wählen Sie Bearbeiten. Sie erhalten ein leeres Abfragefenster in der IDE. Sie können nun Ihre Template-Implementierung einfügen. Ich habe hier die Vorlage der neuen gespeicherten Prozedur, um einen TRY CATCH einzuschließen. Ich möchte die Fehlerbehandlung in meine gespeicherten Prozeduren aufnehmen. Mit dem neuen TRY CATCH-Zusatz zu TSQL in SQL Server 2005 sollten wir versuchen, diesen leistungsstarken Ausnahmebehandlungsmechanismus über unseren Code einschließlich Datenbankcode zu verwenden. Speichern Sie die Vorlage und Sie können Ihre neue Vorlage für die Erstellung gespeicherter Prozeduren verwenden.
-- ======================================================
-- 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