جهت مشاهده نتایج و تست کوئری ها از ادیتور آنلاین استفاده کنید (کلیک کنید).

چیست؟ STORED PROCEDURE

  • Stored Procedure (SP) در واقع یک زبان برنامه نویسی در SQL محسوب میشود.
  • اگر قرار است یک کوئری را بارها و بارها اجرا کنید میتوانید برای آن یک SP بنویسید تا در زمان مشخص فراخوانی شده و اجرا شود.
  • همچنین میتوانید یکسری پارامتر را به عنوان ورودی برای برای کد SP ارسال کنید و کد SP نیز بر روی پارامترهای دریافتی عملیات انجام دهد.
  • کدهای SP باید در قالب زیر نوشته شوند:

CREATE PROCEDURE procedure_name AS sql_statement GO;

  • برای اجرای کدهای SP نیز باید از دستور زیر استفاده کنید:

EXEC SelectAllCustomers;

مثال:

  • در مثال زیر یک Procedure به نام Customers ساخته شده و در بدنه آن یک کوئری جهت واکشی اطلاعات مشتری ها نوشته شده است.

CREATE PROCEDURE Customers AS SELECT * FROM Customers GO;

EXEC Customers;

  • امکان تعریف پارامتر ورودی برای برای SPها وجود دارد. تعریف پارامتر ورودی در ابتدای SP و در کنار نام SP تعریف میشود.
  • دقت کنید که هنگام تعریف پارامتر ورودی باید نوع پارامتر نیز مشخص شود.

مثال:

  • در مثال زیر پارامتر City به طول ۳۰ کاراکتر به عنوان ورودی تعریف شده است.

CREATE PROCEDURE Customers @City nvarchar(30) AS SELECT * FROM Customers WHERE City = @City GO;

  • هنگام اجرای SP باید مقدار مربوط به پارامتر ورودی را وارد کنید.

EXEC Customers @City = ‘Tehran’;

مثال:

در مثال پیش رو دو پارامتر ورودی تحت عنوان City, Name تعریف شده است و در ادامه کوئری در بدنه SP قرار داده شده است که در آن مقداردهی برای شهر و نام صورت گرفته و براساس مقداردهی انجام شده مشخصات کامل مشتریانی که شهر آنها تهران و نام آنها مریم است نمایش داده میشود.

CREATE PROCEDURE Customers @City nvarchar(30), @Name nvarchar(10) AS SELECT * FROM Customers WHERE City = @City AND Name= @Name GO;

  • مقداردهی پارامترها هنگام اجرای SP:

EXEC Customers @City = ‘Tehran’, @Name = ‘Maryam’;

آموزش SQL

Scroll to Top