آشنایی با Stored Procedure در SQl Server

در این مقاله نحوه ایجاد Stored Procedure را در SQL Server نسخه 2000 تا نسخه 2014 شرح خواهیم داد

آشنایی با Stored Procedure  در  SQl Server

Stored Procedure چیست ؟

مجموعه ای از دستورات (Query) مربوط به SQL میباشد که به عنوان یک واحد با یکدیگر Compile می شوند .

Stored Procedure می تواند شامل چندین دستور باشد , مانند دستورات Select , INSERT , UPDATE , DELETE

فواید استفاده از Stored Procedure :

استفاده از Store Procedure زمان Compile را در Overhead کاهش میدهد , همچنین در جلوگیری از دستورات مخرب    ( SQL Injection)  ما را یاری می کند .

دیگر فواید Stored Procedure :

1 - یکبار آن را ایجاد کرده و به دفعات متعدد می توانیم از آن استفاده کنیم

2 - کاهش ترافیک (حجم دستورات)

3 - می تواند قسمتی ویژه از دستورات را به کاربری خاص واگزار کند .

4 - Stored Procedure را می توان به راحتی در قسمتی معین تغییر داد بدون تغییر هیچ دستوری در نرم افزار

5 - براحتی در Stored Procedure می توانیم از Transaction استفاده کنیم .

نحوه ایجاد Stored Procedure :

تصویری که در ادامه قرار دارد نحوه ایجاد Store Procedure را شرح می دهد و همانطور که در تصویر مشاهده میکنید , کلمه کلیدی CREATE نیز برای ایجاد Stored Procedure استفاده شده است .

نمونه :



SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE PROCEDURE GetEmployeeDetails

      @EmployeeID int = 0

AS

BEGIN

      SET NOCOUNT ON;

      SELECT FirstName, LastName, BirthDate, City, Country

      FROM Employees WHERE EmployeeID=@EmployeeID

END

GO

تغییر دادن یا ویرایش Stored Procedure :

در ادامه نحوه تغییر دستورات Stored procedure را می توانید مشاهده کنید .همانطور که در اتصویر مشاهده میکنید برای این عمل از کلمه کلیدی ALTER استفاده کنیم .

 

کد نمونه جهت تغییر دستور Stored Procedure :



SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

ALTER PROCEDURE GetEmployeeDetails

      @EmployeeID int = 0

AS

BEGIN

      SET NOCOUNT ON;

      SELECT FirstName, LastName, BirthDate, City, Country

      FROM Employees WHERE EmployeeID=@EmployeeID

END

GO

دستور مربوط به Drop یا Delete در Stored Procedure :

توصویر زیر عملیات Drop مربوط به Stored Procedure را نمایش می دهد .همانطور که در تصویر مشاهده میکنید از کلمه کلیدی DROP استفاده شده است .

نمونه کد مربوط به Drop :



DROP PROCEDURE GetEmployeeDetails