एक और छोटी सी डली जो मुझे लगता है कि लोगों को उनके डेटाबेस विकास में विकसित होने और अधिक उत्पादक होने में मदद करेगी। जब मैं सॉफ़्टवेयर समाधान विकसित करता हूं तो मैं संग्रहीत प्रक्रियाओं और कार्यों का प्रशंसक हूं। मुझे डेटाबेस स्तर पर लागू होने वाली मेरी वास्तविक सीआरयूडी विधियां पसंद हैं। यह मुझे एप्लिकेशन सॉफ़्टवेयर (व्यावसायिक तर्क और डेटा एक्सेस) और डेटाबेस के बीच अपने काम को संतुलित करने की अनुमति देता है। एक धार्मिक युद्ध शुरू नहीं करना चाहता, लेकिन मैं लोगों को संग्रहीत प्रक्रियाओं को और अधिक तेज़ी से और टेम्पलेट्स के माध्यम से सर्वोत्तम प्रथाओं के साथ विकसित करने की अनुमति देना चाहता हूं।
आइए SQL सर्वर 2005 प्रबंधन स्टूडियो में अपने स्वयं के टेम्पलेट बनाने के साथ प्रारंभ करें। सबसे पहले, आपको स्टूडियो में टेम्प्लेट एक्सप्लोरर दिखाना होगा।
वैकल्पिक टेक्स्ट http://www.cloudsocket.com/images/image-thumb10.png
यह निम्नलिखित दिखाएगा:
वैकल्पिक टेक्स्ट http://www.cloudsocket.com/images/image-thumb11.png
वैकल्पिक टेक्स्ट http://www.cloudsocket.com/images/image-thumb12.png
वैकल्पिक टेक्स्ट http://www.cloudsocket.com/images/image-thumb13.png
आईडीई एक खाली टेम्पलेट बनाएगा। टेम्प्लेट संपादित करने के लिए, टेम्प्लेट पर राइट क्लिक करें और संपादित करें चुनें। आपको IDE में एक खाली क्वेरी विंडो मिलेगी। अब आप अपना टेम्प्लेट कार्यान्वयन सम्मिलित कर सकते हैं। मेरे पास TRY CATCH को शामिल करने के लिए नई संग्रहीत कार्यविधि का टेम्प्लेट है। मुझे अपनी संग्रहीत प्रक्रियाओं में त्रुटि प्रबंधन शामिल करना पसंद है। SQL सर्वर 2005 में TSQL के नए TRY CATCH अतिरिक्त के साथ, हमें डेटाबेस कोड सहित अपने कोड के माध्यम से इस शक्तिशाली अपवाद हैंडलिंग तंत्र का उपयोग करने का प्रयास करना चाहिए। टेम्पलेट सहेजें और आप संग्रहीत कार्यविधि निर्माण के लिए अपने नए टेम्पलेट का उपयोग करने के लिए पूरी तरह तैयार हैं।
-- ======================================================
-- 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