sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan opretter du SQL Server 2005-lagrede procedureskabeloner i SQL Server 2005 Management Studio?

Endnu en lille guldklump, som jeg tror vil hjælpe folk med at udvikle og være mere produktive i deres databaseudvikling. Jeg er fan af lagrede procedurer og funktioner, når jeg udvikler softwareløsninger. Jeg kan godt lide, at mine faktiske CRUD-metoder implementeres på databaseniveau. Det giver mig mulighed for at balancere mit arbejde mellem applikationssoftwaren (forretningslogik og dataadgang) og selve databasen. Jeg vil ikke starte en religionskrig, men jeg vil give folk mulighed for at udvikle lagrede procedurer hurtigere og med bedste praksis gennem skabeloner.

Lad os starte med at lave dine egne skabeloner i SQL Server 2005 Management Studio. Først skal du vise skabelonstifinderen i studiet.

alt tekst http://www.cloudsocket.com/images/image-thumb10.png

Dette vil vise følgende:

alt tekst http://www.cloudsocket.com/images/image-thumb11.png

alt tekst http://www.cloudsocket.com/images/image-thumb12.png

alt tekst http://www.cloudsocket.com/images/image-thumb13.png

IDE'en vil oprette en tom skabelon. For at redigere skabelonen skal du højreklikke på skabelonen og vælge Rediger. Du vil få et tomt forespørgselsvindue i IDE. Du kan nu indsætte din skabelonimplementering. Jeg har her skabelonen for den nye lagrede procedure for at inkludere en TRY CATCH. Jeg kan godt lide at inkludere fejlhåndtering i mine lagrede procedurer. Med den nye TRY CATCH tilføjelse til TSQL i SQL Server 2005, bør vi prøve at bruge denne kraftfulde undtagelseshåndteringsmekanisme gennem vores kode inklusive databasekode. Gem skabelonen, og du er alle klar til at bruge din nye skabelon til oprettelse af lagrede procedurer.

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


  1. Brug ikke sys.sql_dependencies i SQL Server (den er forældet)

  2. Hvordan finder man lignende resultater og sorterer efter lighed?

  3. Få et resultat ved at sammenligne to tabeller med en identisk kolonne

  4. Skriv en forespørgsel for at finde navnet på den eller de studerende, der har opnået maksimal karakter i Software Engineering. Sorter resultatet efter navn