آشنایی با Stored Procedure در SQl Server
یکشنبه 6 اردیبهشت 1394در این مقاله نحوه ایجاد Stored Procedure را در SQL Server نسخه 2000 تا نسخه 2014 شرح خواهیم داد
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
- C#.net
- 24k بازدید
- 12 تشکر