சேமிக்கப்பட்ட நடைமுறை என்றால் என்ன?
ஒரு சேமிக்கப்பட்ட நடைமுறை என்பது நீங்கள் சேமிக்கக்கூடிய தயாரிக்கப்பட்ட SQL குறியீடாகும், இதனால் குறியீட்டை மீண்டும் மீண்டும் பயன்படுத்தலாம்.
எனவே நீங்கள் மீண்டும் மீண்டும் எழுதும் SQL வினவல் இருந்தால், அதை ஒரு சேமிக்கப்பட்ட நடைமுறையாக சேமித்து, அதை இயக்க அதை அழைக்கவும்.
நீங்கள் ஒரு சேமிக்கப்பட்ட நடைமுறைக்கு அளவுருக்களை அனுப்பலாம், இதனால் அனுப்பப்படும் அளவுரு மதிப்பின் அடிப்படையில் சேமிக்கப்பட்ட நடைமுறை செயல்பட முடியும்.
சேமிக்கப்பட்ட நடைமுறைகளின் நன்மைகள்
மீள் பயன்பாடு
குறியீட்டை மீண்டும் மீண்டும் எழுத வேண்டியதில்லை, அதை மீண்டும் பயன்படுத்தலாம்
செயல்திறன்
முன்-கompile செய்யப்பட்ட குறியீடு வேகமாக இயங்கும்
பாதுகாப்பு
நேரடி அட்டவணை அணுகலைத் தடுக்கலாம்
பிணைய செயல்திறன்
குறைந்த நெட்வொர்க் போக்குவரத்து
சேமிக்கப்பட்ட நடைமுறை தொடரியல்
உருவாக்குதல்
CREATE PROCEDURE procedure_name
AS
sql_statement
GO;
இயக்குதல்
EXEC procedure_name;
ஆர்ப்பாட்ட தரவுத்தளம்
Northwind மாதிரி தரவுத்தளத்தில் உள்ள "Customers" அட்டவணையிலிருந்து ஒரு தேர்வு கீழே உள்ளது:
| CustomerID | CustomerName | ContactName | City | PostalCode | Country |
|---|---|---|---|---|---|
| 1 | Alfreds Futterkiste | Maria Anders | Berlin | 12209 | Germany |
| 2 | Ana Trujillo Emparedados y helados | Ana Trujillo | México D.F. | 05021 | Mexico |
| 3 | Antonio Moreno Taquería | Antonio Moreno | México D.F. | 05023 | Mexico |
| 4 | Around the Horn | Thomas Hardy | London | WA1 1DP | UK |
| 5 | Berglunds snabbköp | Christina Berglund | Luleå | S-958 22 | Sweden |
சேமிக்கப்பட்ட நடைமுறை எடுத்துக்காட்டுகள்
அடிப்படை எடுத்துக்காட்டு
பின்வரும் SQL அறிக்கை "Customers" அட்டவணையிலிருந்து அனைத்து பதிவுகளையும் தேர்ந்தெடுக்கும் "SelectAllCustomers" என்ற சேமிக்கப்பட்ட நடைமுறையை உருவாக்குகிறது:
உருவாக்குதல்
CREATE PROCEDURE SelectAllCustomers
AS
SELECT * FROM Customers
GO;
இயக்குதல்
EXEC SelectAllCustomers;
ஒரு அளவுருவுடன் சேமிக்கப்பட்ட நடைமுறை
பின்வரும் SQL அறிக்கை "Customers" அட்டவணையிலிருந்து ஒரு குறிப்பிட்ட நகரத்திலிருந்து வாடிக்கையாளர்களைத் தேர்ந்தெடுக்கும் ஒரு சேமிக்கப்பட்ட நடைமுறையை உருவாக்குகிறது:
உருவாக்குதல்
CREATE PROCEDURE SelectAllCustomers @City nvarchar(30)
AS
SELECT * FROM Customers WHERE City = @City
GO;
இயக்குதல்
EXEC SelectAllCustomers @City = 'London';
பல அளவுருக்களுடன் சேமிக்கப்பட்ட நடைமுறை
பல அளவுருக்களை அமைப்பது மிகவும் எளிதானது. ஒவ்வொரு அளவுரு மற்றும் தரவு வகையையும் காற்புள்ளியால் பிரிக்கப்பட்ட பட்டியலிடவும்.
உருவாக்குதல்
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';
உதவிக்குறிப்பு:
சேமிக்கப்பட்ட நடைமுறைகள் சிக்கலான வணிக தர்க்கத்தை காப்பகப்படுத்தவும், செயல்திறனை மேம்படுத்தவும், பாதுகாப்பை மேம்படுத்தவும் உதவுகின்றன. அவை பயன்பாட்டு குறியீட்டிலிருந்து தரவுத்தள தர்க்கத்தை பிரிக்கின்றன.
நடைமுறை எடுத்துக்காட்டுகள்
புதிய வாடிக்கையாளர் சேர்க்கை
சரிபார்ப்புகளுடன் புதிய வாடிக்கையாளரைச் சேர்க்கும் நடைமுறை
CREATE PROCEDURE AddCustomer
@Name nvarchar(50),
@Email nvarchar(100)
AS
BEGIN
IF NOT EXISTS(SELECT 1 FROM Customers WHERE Email = @Email)
INSERT INTO Customers (Name, Email) VALUES (@Name, @Email)
END
விற்பனை அறிக்கை
குறிப்பிட்ட காலகட்டத்திற்கான விற்பனைத் தரவைப் பெறுதல்
CREATE PROCEDURE GetSalesReport
@StartDate date,
@EndDate date
AS
SELECT * FROM Orders
WHERE OrderDate BETWEEN @StartDate AND @EndDate
தரவு பராமரிப்பு
பழைய பதிவுகளைக் காப்பிட்டு நீக்குதல்
CREATE PROCEDURE ArchiveOldOrders
@ArchiveDate date
AS
BEGIN
INSERT INTO OrderArchive SELECT * FROM Orders
WHERE OrderDate < @ArchiveDate
DELETE FROM Orders WHERE OrderDate < @ArchiveDate
END