Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment créer des modèles de procédure stockée SQL Server 2005 dans SQL Server 2005 Management Studio ?

Une autre petite pépite qui, je pense, aidera les gens à se développer et à être plus productifs dans le développement de leur base de données. Je suis un adepte des procédures et fonctions stockées lorsque je développe des solutions logicielles. J'aime que mes méthodes CRUD actuelles soient implémentées au niveau de la base de données. Cela me permet d'équilibrer mon travail entre le logiciel applicatif (logique métier et accès aux données) et la base de données elle-même. Je ne veux pas déclencher une guerre de religion, mais je veux permettre aux gens de développer des procédures stockées plus rapidement et avec les meilleures pratiques grâce à des modèles.

Commençons par créer vos propres modèles dans SQL Server 2005 Management Studio. Tout d'abord, vous devez afficher l'explorateur de modèles dans le Studio.

texte alternatif http://www.cloudsocket.com/images/image-thumb10.png

Cela affichera ce qui suit :

texte alternatif http://www.cloudsocket.com/images/image-thumb11.png

texte alternatif http://www.cloudsocket.com/images/image-thumb12.png

texte alternatif http://www.cloudsocket.com/images/image-thumb13.png

L'IDE créera un modèle vierge. Pour modifier le modèle, faites un clic droit sur le modèle et sélectionnez Modifier. Vous obtiendrez une fenêtre de requête vide dans l'IDE. Vous pouvez maintenant insérer votre modèle d'implémentation. J'ai ici le modèle de la nouvelle procédure stockée pour inclure un TRY CATCH. J'aime inclure la gestion des erreurs dans mes procédures stockées. Avec le nouvel ajout TRY CATCH à TSQL dans SQL Server 2005, nous devrions essayer d'utiliser ce puissant mécanisme de gestion des exceptions via notre code, y compris le code de la base de données. Enregistrez le modèle et vous êtes prêt à utiliser votre nouveau modèle pour la création de procédures stockées.

-- ======================================================
-- 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