प्रक्रिया एकाधिक कथनों के डेटाबेस में एक प्रोग्राम है जिसे आप बाद में उपयोग के लिए सहेजते हैं। SQL सर्वर में, आप प्रक्रिया के लिए पैरामीटर पास कर सकते हैं, हालांकि यह फ़ंक्शन के रूप में एक विशिष्ट मान नहीं लौटाता है लेकिन सफल या विफल निष्पादन को इंगित करता है।
लेख आपको सिंटैक्स और SQL सर्वर में प्रक्रियाओं को बनाने और हटाने के उदाहरण देगा।
प्रक्रिया बनाएं
वाक्यविन्यास
SQL सर्वर में एक प्रक्रिया बनाने के लिए, हम निम्नलिखित सिंटैक्स का उपयोग करते हैं:
CREATE {PROCEDURE | PROC } [schema_name.]procedure_name PROC} [schema_name.] Procedure_name
[@parameter [type_schema_name.] datatype
[VARYING] [= default] [OUT | OUTPUT | READONLY]
, @parameter [type_schema_name.] datatype
[VARYING] [= default] [OUT | OUTPUT | READONLY]]
[WITH {ENCRYPTION | RECOMPILE | RECOMPILE | EXECUTE AS Clause } ] EXECUTE AS Clause}]
[FOR REPLICATION]
AS
BEGIN
[declaration_section]
executable_section
END;
पैरामीटर:
- स्कीमा_नाम:स्कीमा नाम (स्कीमा) प्रक्रिया का मालिक है।
- प्रक्रिया_नाम: प्रक्रिया के लिए नियत नाम
- @पैरामीटर: फ़ंक्शन में एक या अधिक पैरामीटर पास किए जाते हैं।
- type_schema_name: स्कीमा का डेटा प्रकार (यदि कोई हो)।
- डेटा प्रकार: @पैरामीटर के लिए डेटा प्रकार।
- डिफ़ॉल्ट: डिफ़ॉल्ट मान @parameter को असाइन किया गया है।
- बाहर / आउटपुट: @parameter एक आउटपुट पैरामीटर है
- केवल पढ़ने के लिए: @parameter प्रक्रिया द्वारा ओवरराइड नहीं किया जा सकता है।
- एन्क्रिप्शन: प्रक्रिया के स्रोत कोड को सिस्टम में टेक्स्ट के रूप में संग्रहीत नहीं किया जाएगा।
- पुन:संकलित करें: इस प्रक्रिया के लिए क्वेरी को कैश (कैश) नहीं किया जाएगा।
- अनुच्छेद के रूप में निष्पादित करें: प्रक्रिया को निष्पादित करने के लिए सुरक्षा संदर्भ निर्दिष्ट करता है।
- प्रतिकृति के लिए: सहेजी गई प्रक्रिया केवल प्रतिकृति प्रक्रिया के दौरान ही निष्पादित की जाएगी।
उदाहरण के लिए
CREATE PROCEDURE spNhanvien
@nhanvien_name VARCHAR (50) OUT
AS
BEGIN
DECLARE @nhanvien_id INT;
SET @nhanvien_id = 8;
IF @nhanvien_id <10
SET @nhanvien_name = 'Smith';
ELSE
SET @nhanvien_name = 'Lawrence';
END;
उपरोक्त प्रक्रिया को spNhanvien, नाम दिया गया है @nhanvien_name, का एक पैरामीटर है पैरामीटर का आउटपुट @nhanvien_id. . पर आधारित होगा
उसके बाद, आप spNhanvien कर सकते हैं संदर्भ इस प्रकार है:
USE [test]
GO
DECLARE @site_name varchar (50);
EXEC FindSite @site_name OUT;
PRINT @site_name;
GO
ड्रॉप प्रक्रिया
एक बार जब आप सफलतापूर्वक प्रक्रिया बना लेते हैं, तो ऐसे मामले भी होते हैं जहां आप कुछ कारणों से डेटाबेस से प्रक्रिया को हटाना चाहते हैं।
सिंटैक्स
एक प्रक्रिया को हटाने के लिए, हमारे पास निम्नलिखित सिंटैक्स है:
DROP PROCEDURE procedure_name ;
पैरामीटर:
प्रक्रिया_नाम:The उस प्रक्रिया का नाम जिसे आप हटाना चाहते हैं।
उदाहरण के लिए
DROP PROCEDURE spNhanvien;
इस कमांड को निष्पादित करके, आपने अभी-अभी spNhan को डिलीट किया है डेटाबेस से प्रक्रिया।