विवरण
Procedure (स्टोर्ड प्रोसीजर) डेटाबेस में कई स्टेटमेंट्स का एक प्रोग्राम है जिसे आप बाद में उपयोग के लिए सेव करते हैं। SQL Server में, आप प्रोसीजर को पैरामीटर्स पास कर सकते हैं, हालांकि यह फंक्शन की तरह एक विशिष्ट मान नहीं लौटाता बल्कि सफल या विफल निष्पादन को इंगित करता है।
यह लेख आपको SQL Server में प्रोसीजर बनाने और हटाने के सिंटैक्स और उदाहरण देता है।
CREATE PROCEDURE
सिंटैक्स
SQL Server में प्रोसीजर बनाने के लिए, हम निम्न सिंटैक्स का उपयोग करते हैं:
CREATE {PROCEDURE | 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 | EXECUTE AS Clause}]
[FOR REPLICATION]
AS
BEGIN
[declaration_section]
executable_section
END;
पैरामीटर्स:
- schema_name: प्रोसीजर का मालिक स्कीमा नाम (स्कीमा)।
- procedure_name: प्रोसीजर के लिए दिया गया नाम।
- @parameter: फंक्शन में पास किए गए एक या अधिक पैरामीटर्स।
- type_schema_name: स्कीमा का डेटा प्रकार (यदि कोई हो)।
- datatype: @parameter के लिए डेटा प्रकार।
- default: @parameter को असाइन किया गया डिफ़ॉल्ट मान।
- OUT/OUTPUT: @parameter एक आउटपुट पैरामीटर है।
- READONLY: @parameter को प्रोसीजर द्वारा ओवरराइड नहीं किया जा सकता।
- ENCRYPTION: प्रोसीजर का सोर्स कोड सिस्टम में टेक्स्ट के रूप में स्टोर नहीं किया जाएगा।
- RECOMPILE: इस प्रोसीजर के लिए क्वेरी कैश नहीं की जाएगी।
- EXECUTE AS क्लॉज: प्रोसीजर निष्पादित करने के लिए सुरक्षा संदर्भ निर्दिष्ट करता है।
- FOR REPLICATION: सेव्ड प्रोसीजर केवल रेप्लिकेशन प्रक्रिया के दौरान निष्पादित होगा।
उदाहरण
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 (प्रोसीजर हटाएं)
एक बार प्रोसीजर सफलतापूर्वक बन जाने के बाद, कुछ कारणों से आप डेटाबेस से प्रोसीजर को हटाना चाह सकते हैं।
सिंटैक्स
प्रोसीजर हटाने के लिए, हमारे पास निम्न सिंटैक्स है:
DROP PROCEDURE procedure_name;
पैरामीटर्स:
procedure_name: वह प्रोसीजर नाम जिसे आप हटाना चाहते हैं।
उदाहरण
DROP PROCEDURE spNhanvien;
इस कमांड को निष्पादित करके, आपने डेटाबेस से spNhan प्रोसीजर को हटा दिया है।