رویه های ذخیره شده (Stored Procedures)
رویه ذخیره شده (Stored Procedure) یعنی کد SQL آماده و ذخیره شده. بنابراین، هر بار لازم نیست دوباره بنویسی. همچنین، چون «پارامتر (Parameter)» می گیرد، می توانی خروجی را بر اساس ورودی تغییر دهی. اینجا با «رویه های ذخیره شده SQL» آشنا می شویم.
رویه ذخیره شده چیست؟
رویه ذخیره شده کد SQL قابل استفاده دوباره است. اول می سازیم، بعد فقط اجرا می کنیم. مثل میان بر موبایل که کار تکراری را سریع می کند.
ساختار پایه
CREATE PROCEDURE procedure_name
AS
sql_statement
GO
اجرای یک رویه
EXEC procedure_name;
نمونه: انتخاب همه مشتری ها
رویه ای می سازیم که همه ردیف های جدول Customers را برگرداند.
CREATE PROCEDURE SelectAllCustomers
AS
SELECT *
FROM Customers;
GO
EXEC SelectAllCustomers;
رویه با یک پارامتر
پارامتر یعنی ورودی قابل تغییر. مثل فیلتر شهر در گزارش.
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';
گام های عملی
- پرس وجوهای تکراری را پیدا کن.
- رویه بساز و آن ها را ذخیره کن.
- پارامترهای لازم را تعریف کن.
- خروجی را با داده واقعی تست کن.
نکته: برای مستندسازی، اسم های گویا بگذار. همچنین از رویه های ذخیره شده SQL در پروژه به عنوان الگوی ثابت استفاده کن.
نکته: گاهی قبل از اجرای رویه، داده را با CASE یا با توابع NULL آماده کن تا نتیجه پایدار شود.
جمع بندی سریع
- رویه ها کد تکراری را استاندارد می کنند.
- پارامترها خروجی را انعطاف پذیر می کنند.
- نام گذاری خوب، نگهداری را ساده می کند.
- اول بساز، سپس فقط EXEC اجرا کن.