SQL सर्वर के लिए SQL संग्रहीत कार्यविधियाँ
एक संग्रहीत प्रक्रिया क्या है?
एक संग्रहीत कार्यविधि एक तैयार SQL कोड है जिसे आप सहेज सकते हैं, ताकि कोड को बार-बार पुन: उपयोग किया जा सके।
इसलिए यदि आपके पास एक SQL क्वेरी है जिसे आप बार-बार लिखते हैं, तो इसे एक संग्रहीत कार्यविधि के रूप में सहेजें, और फिर इसे निष्पादित करने के लिए बस कॉल करें।
आप किसी संग्रहीत कार्यविधि में पैरामीटर भी पास कर सकते हैं, ताकि संग्रहीत कार्यविधि पारित किए गए पैरामीटर मान (मानों) के आधार पर कार्य कर सके।
संग्रहित प्रक्रिया सिंटैक्स
CREATE PROCEDURE procedure_name
AS
sql_statement
GO;
एक संग्रहीत प्रक्रिया निष्पादित करें
EXEC procedure_name;
डेमो डेटाबेस
नीचे नॉर्थविंड नमूना डेटाबेस में "ग्राहक" तालिका से चयन है:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 |
Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
संग्रहित प्रक्रिया उदाहरण
निम्न SQL कथन "SelectAllCustomers" नामक एक संग्रहीत कार्यविधि बनाता है जो "ग्राहक" तालिका से सभी रिकॉर्ड का चयन करता है:
उदाहरण
CREATE PROCEDURE SelectAllCustomers
AS
SELECT * FROM Customers
GO;
उपरोक्त संग्रहीत कार्यविधि को निम्नानुसार निष्पादित करें:
उदाहरण
EXEC SelectAllCustomers;
एक पैरामीटर के साथ संग्रहित प्रक्रिया
निम्न SQL कथन एक संग्रहीत कार्यविधि बनाता है जो "ग्राहक" तालिका से किसी विशेष शहर के ग्राहकों का चयन करता है:
उदाहरण
CREATE PROCEDURE SelectAllCustomers
@City nvarchar(30)
AS
SELECT * FROM Customers WHERE
City = @City
GO;
उपरोक्त संग्रहीत कार्यविधि को निम्नानुसार निष्पादित करें:
उदाहरण
EXEC SelectAllCustomers @City = 'London';
एकाधिक पैरामीटर के साथ संग्रहित प्रक्रिया
कई पैरामीटर सेट करना बहुत आसान है। जैसा कि नीचे दिखाया गया है, बस प्रत्येक पैरामीटर और अल्पविराम द्वारा अलग किए गए डेटा प्रकार को सूचीबद्ध करें।
निम्न SQL कथन एक संग्रहीत कार्यविधि बनाता है जो "ग्राहक" तालिका से एक विशेष पोस्टल कोड वाले किसी विशेष शहर के ग्राहकों का चयन करता है:
उदाहरण
CREATE PROCEDURE SelectAllCustomers
@City nvarchar(30), @PostalCode nvarchar(10)
AS
SELECT * FROM Customers WHERE
City = @City AND PostalCode = @PostalCode
GO;
उपरोक्त संग्रहीत कार्यविधि को निम्नानुसार निष्पादित करें:
उदाहरण
EXEC SelectAllCustomers @City = 'London', @PostalCode = 'WA1 1DP';