SQL Stored Procedures for SQL Server

மீண்டும் மீண்டும் பயன்படுத்தக்கூடிய SQL குறியீட்டைச் சேமிக்கும் சேமிக்கப்பட்ட நடைமுறைகளைக் கற்றுக்கொள்ளுங்கள்

சேமிக்கப்பட்ட நடைமுறை என்றால் என்ன?

ஒரு சேமிக்கப்பட்ட நடைமுறை என்பது நீங்கள் சேமிக்கக்கூடிய தயாரிக்கப்பட்ட 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

பயிற்சி

SQL Server-ல் சேமிக்கப்பட்ட நடைமுறையின் முதன்மை நோக்கம் என்ன?

தரவுத்தளத்தில் அட்டவணைப்படுத்தலை மேம்படுத்த
✗ தவறு! அட்டவணைப்படுத்தல் தனி செயல்பாடாகும்
மீண்டும் பயன்படுத்தக்கூடிய SQL குறியீட்டை மீண்டும் மீண்டும் பயன்படுத்த சேமிக்க
✓ சரி! சேமிக்கப்பட்ட நடைமுறைகளின் முதன்மை நோக்கம் மீண்டும் பயன்படுத்தக்கூடிய SQL குறியீட்டை சேமித்து மீண்டும் பயன்படுத்துவதாகும்
அட்டவணைகளை தானாகவே உருவாக்க
✗ தவறு! அட்டவணைகள் CREATE TABLE உரையால் உருவாக்கப்படுகின்றன
வினவல்களில் NULL மதிப்புகளைக் கையாள
✗ தவறு! NULL மதிப்புகள் ISNULL() அல்லது COALESCE() போன்ற செயல்பாடுகளால் கையாளப்படுகின்றன