sql >> Databáze >  >> RDS >> Sqlserver

Jak vytvoříte šablony uložených procedur SQL Server 2005 v SQL Server 2005 Management Studio?

Další malá pecka, která podle mě pomůže lidem vyvíjet se a být produktivnější při vývoji jejich databáze. Při vývoji softwarových řešení jsem fanouškem uložených procedur a funkcí. Líbí se mi implementace mých skutečných metod CRUD na úrovni databáze. Umožňuje mi to vyvážit mou práci mezi aplikačním softwarem (obchodní logika a přístup k datům) a samotnou databází. Nechci rozpoutat náboženskou válku, ale chci lidem umožnit vyvíjet uložené procedury rychleji as osvědčenými postupy prostřednictvím šablon.

Začněme vytvářením vlastních šablon v SQL Server 2005 Management Studio. Nejprve musíte ve Studiu zobrazit Průzkumníka šablon.

alternativní text http://www.cloudsocket.com/images/image-thumb10.png

Zobrazí se následující:

alternativní text http://www.cloudsocket.com/images/image-thumb11.png

alternativní text http://www.cloudsocket.com/images/image-thumb12.png

alternativní text http://www.cloudsocket.com/images/image-thumb13.png

IDE vytvoří prázdnou šablonu. Chcete-li šablonu upravit, klikněte na šablonu pravým tlačítkem a vyberte Upravit. V IDE získáte prázdné okno Query. Nyní můžete vložit implementaci šablony. Mám zde šablonu nové uložené procedury pro zahrnutí TRY CATCH. Rád zahrnuji zpracování chyb do svých uložených procedur. S novým přírůstkem TRY CATCH do TSQL v SQL Server 2005 bychom se měli pokusit použít tento výkonný mechanismus zpracování výjimek prostřednictvím našeho kódu včetně kódu databáze. Uložte šablonu a jste připraveni použít novou šablonu pro vytvoření uložené procedury.

-- ======================================================
-- 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. Vazba modelu trasy nefunguje

  2. Plánovač úloh SSIS selže, ale v BIDS a integračních službách MSDB běží správně

  3. AJAX aktualizuje databázi MYSQL pomocí funkce volané z HTML generovaného z PHP

  4. Získejte počet záznamů ovlivněných INSERT nebo UPDATE v PostgreSQL