Nog een klein goudklompje waarvan ik denk dat het mensen zal helpen zich te ontwikkelen en productiever te zijn in hun database-ontwikkeling. Ik ben een fan van opgeslagen procedures en functies bij het ontwikkelen van softwareoplossingen. Ik vind het leuk dat mijn eigenlijke CRUD-methoden op databaseniveau worden geïmplementeerd. Het stelt me in staat om mijn werk te balanceren tussen de applicatiesoftware (bedrijfslogica en gegevenstoegang) en de database zelf. Ik wil geen religieuze oorlog beginnen, maar ik wil mensen in staat stellen om opgeslagen procedures sneller en met best practices te ontwikkelen door middel van sjablonen.
Laten we beginnen met het maken van uw eigen sjablonen in de SQL Server 2005 management Studio. Eerst moet je de Template Explorer in de Studio tonen.
alt-tekst http://www.cloudsocket.com/images/image-thumb10.png
Dit toont het volgende:
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
De IDE maakt een blanco sjabloon. Om de sjabloon te bewerken, klikt u met de rechtermuisknop op de sjabloon en selecteert u Bewerken. U krijgt een leeg Query-venster in de IDE. U kunt nu uw sjabloonimplementatie invoegen. Ik heb hier de sjabloon van de nieuwe opgeslagen procedure om een TRY CATCH op te nemen. Ik neem graag foutafhandeling op in mijn opgeslagen procedures. Met de nieuwe TRY CATCH-toevoeging aan TSQL in SQL Server 2005, moeten we proberen dit krachtige mechanisme voor het afhandelen van uitzonderingen te gebruiken via onze code, inclusief databasecode. Sla de sjabloon op en u bent klaar om uw nieuwe sjabloon te gebruiken voor het maken van opgeslagen procedures.
-- ======================================================
-- 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