٪۴۰ تخفیف تابستانه شروع شد! بزرگترین حراج سال ما

به ما بپیوندید

آموزش رویه های ذخیره شده SQL برای SQL Server

رویه ذخیره شده چیست؟ یک روش ذخیره شده یک کد SQL آماده است که می توانید آن را ذخیره کنید ، بنابراین می توان بارها و بارها از کد استفاده کرد. بنابراین اگر یک پرس و جو SQL دارید که…

محمد یوسفی

19 آگوست 2021

رویه ذخیره شده چیست؟

یک روش ذخیره شده یک کد SQL آماده است که می توانید آن را ذخیره کنید ، بنابراین می توان بارها و بارها از کد استفاده کرد.

بنابراین اگر یک پرس و جو SQL دارید که بارها و بارها می نویسید ، آن را به عنوان یک روش ذخیره شده ذخیره کنید و سپس برای اجرای آن فقط با آن تماس بگیرید.

همچنین می توانید پارامترها را به یک رویه ذخیره شده منتقل کنید تا رویه ذخیره شده بر اساس مقدار (های) پارامترهای ارسال شده عمل کند.

نحو رویه ذخیره شده

CREATE PROCEDURE procedure_name
AS
sql_statement
GO;

یک روش ذخیره شده را اجرا کنید

EXEC procedure_name;

پایگاه داده نسخه ی نمایشی

در زیر مجموعه ای از جدول “مشتریان” در پایگاه داده نمونه Northwind آمده است:


مثال رویه ذخیره شده

دستور 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';

منبع

مطالب مرتبط

0 دیدگاه