Stored Procedureها برای SQL SERVER

از ویکی‌کد
پرش به ناوبری پرش به جستجو
Main Page Tutorial
Sql-menu.png
موارد آموزشی
۱خانه
۲مقدمه
۳دستور زبان
۴عبارت SELECT
۵عبارت SELECT DISTINCT
۶شرط WHERE
۷عملگرهای AND, OR, NOT
۸کلمهٔ کلیدی ORDER BY
۹عبارت INSERT INTO
۱۰مقدارهای NULL
۱۱عبارت UPDATE
۱۲عبارت DELETE
۱۳عبارت‌های TOP ،LIMIT یا ROWNUM
۱۴توابع MIN و MAX
۱۵توابع COUNT ،AVG و SUM
۱۶عملگر LIKE
۱۷کاراکترهای Wildcard
۱۸عملگر IN
۱۹عملگر BETWEEN
۲۰نام‌های مستعار (Aliases)
۲۱متصل کردن (Join)
۲۲کلمهٔ کلیدی INNER JOIN
۲۳کلمهٔ کلیدی LEFT JOIN
۲۴کلمهٔ کلیدی RIGHT JOIN
۲۵کلمهٔ کلیدی FULL OUTER JOIN
۲۶دستور Self JOIN
۲۷عملگر UNION
۲۸عبارت GROUP BY
۲۹عبارت HAVING
۳۰عملگر EXISTS
۳۱عملگرهای ANY و ALL
۳۲عبارت SELECT INTO
۳۳عبارت INSERT INTO SELECT
۳۴عبارت CASE
۳۵توابع NULL
۳۶Stored Procedure
۳۷یادداشت‌ها
بانک اطلاعاتی
مرجع
مثال‌ها

Stored Procedure (به فارسی: روال ذخیره شده) چیست؟

stored procedure یک کد آماده SQL است که می‌توان آن را ذخیره کرد، بنابراین می‌توان بارها و بارها این کد را به کار برد.[۱]

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

همچنین می‌توانید به stored procedure پارامترهایی را پاس کنید، در این حالت stored procedure براساس مقدار (های) پارامتری که به آن پاس شده عمل می‌کند.

نحو Stored Procedure
1 CREATE PROCEDURE procedure_name
2 AS
3 sql_statement
4 GO;
اجرای یک Stored Procedure
EXEC procedure_name;


نسخه نمایشی بانک اطلاعاتی

در ادامه انتخابی از جدول “Customer” در بانک اطلاعاتی نمونه Northwind آمده‌است:

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

مثال Stored Procedure

عبارت SQL زیر یک stored procedure به نام "SelectAllCustomers" ایجاد می‌کند که همه رکوردهای جدول "Customers" را انتخاب می‌کند:

1 CREATE PROCEDURE SelectAllCustomers
2 AS
3 SELECT * FROM Customers
4 GO;

stored procedure بالا را می‌توان به روش زیر اجرا کرد:

EXEC SelectAllCustomers;

Stored Procedure با یک پارامتر

عبارت SQL زیر یک stored procedure ایجاد می‌کند که مشتری‌های شهر خاصی را از جدول "Customers" انتخاب می‌کند:

1 CREATE PROCEDURE SelectAllCustomers @City nvarchar(30)
2 AS
3 SELECT * FROM Customers WHERE City = @City
4 GO;

stored procedure بالا به این شکل اجرا می‌شود:

EXEC SelectAllCustomers @City = 'London';

Stored Procedure با چند پارامتر

تنظیم کردن چند پارامتر بسیار ساده است. فقط هر پارامتر و نوع داده را که توسط یک کاما از هم جدا شده‌اند همان‌طور که در ادامه نشان داده شده لیست کنید.

عبارت SQL زیر یک stored procedure ایجاد می‌کند که مشتری‌های شهر خاص با PostalCode خاصی را از جدول "Customers" انتخاب می‌کند:

1 CREATE PROCEDURE SelectAllCustomers @City nvarchar(30), @PostalCode nvarchar(10)
2 AS
3 SELECT * FROM Customers WHERE City = @City AND PostalCode = @PostalCode
4 GO;

stored procedure بالا را می‌توان به این شکل اجرا کرد:

EXEC SelectAllCustomers @City = 'London', @PostalCode = 'WA1 1DP';



منابع آموزشی