Sp یا به زبان فارسی ” رویه های ذخیره شده ” اشیایی اجرا پذیر در بانک اطلاعاتی SQL Server هستند که شامل یک یا چندین دستور SQL می شود ، این رویه ها میتوانند پارامتر های ورودی و خروجی داشته باشند . همچنین میتوان داخل این رویه ها به زبان SQL برنامه نویسی کرد . مهم ترین کاربر این رویه ها ذخیره کردن دستورات Select , Insert , Update , Delete هست یا ترکیبی از اینها . نحوه ساخت این رویه ها به صورت زیر می باشد :

وارد بانک اطلاعاتی SQL Server شده ، پس از باز کردن بانک مورد نظر در قسمت Programmability وارد بخش Stored Procedure شوید .

بر روی Stored Procedure کلیک راست کرده و New Stored Procedure را انتخاب نمایید .

احتمالا کد های پیشفرضی را در این صفحه مشاهده می کنید ، همه این کد هارا پا کرده و به صورت زیر کد نویسی کنید : view source print? 01.Create Procedure YourProcedureName(@FirstParamete DataType,@SecondParameter DataType,…)

۰۲٫

۰۳٫As

۰۴٫

۰۵٫Begin

۰۶٫

۰۷٫SQLStatement

۰۸٫

۰۹٫End کد فوق شکل کلی ساخت رویه های ذخیره شده می باشد .

به جای YourProcedureName یک نام برای برای رویه انتخاب کنید . سعی کنید نامی که انتخاب می نمایید مفهوم رویه شما را برساند مثلا برای درج یک رکورد جدید در جدول Members من نام AddNewMember را انتخاب می کنم و یا برای دریافت تمام رکورد های این جدول نام GetAllMembers نام با مفهومی است .

در پرانتز مقابل نام رویه پارامتر های رویه به همراه نوع پارامتر تعیین میشود ، اگر تعداد پارامتر ها بیشتر از یکی بود با ویرگول آنها را جدا می کنیم .

به جای SQLStatement دستورات SQl را که بین Begin و End نوشته می شوند تایپ کنید .

دستوراتی مانند Select , Insert , Update , Delete و….

به عنوان مثال Sp زیر اطلاعات کاربر را با دریافت پارامتر نام کاربری (@ID) از جدول TBL_Members دریافت می کند :

view source

print? 01.create procedure GetMemberbyID(@ID nvarchar(100))

۰۲٫

۰۳٫as

۰۴٫

۰۵٫begin

۰۶٫

۰۷٫

۰۸٫select * from TBL_Members where ID=@ID

۰۹٫

۱۰٫

۱۱٫end سپس بر روی دکمه Execute کلیک کرده تا رویه شما ساخته و ذخیره گردد . برخی از قابلیت های رویه های ذخیره شده یا Stored Procedure عبارت است از : Precompiled بودن آنها به این معنی که به زبان ماشین بسیار نزدیک شده و به طور کامل از اول ترجمه نمیشود ، این امر باعث افزایش سرعت بارگزاری می گردد .

قابلیت ذخیره داشته و میتوان از یک رویه چندین بار در کد نویسی استفاده کرد .

دارای ویرایشگر Query می باشد (میتوانید به سادگی یک Query حرفه ای ایجاد کنید)

دارای Syntax Parser هست و از خطاهای SQL جلوگیری می کند .

دارای امنیت بالایی است و از هک شدن سایت شما توسط SQL Injection در بسیاری موارد جلوگیری می کند .

قابلیت درج چندین دستور SQL را پشت سرهم داراست .

قابلیت ارسال ورودی و خروجی دارد .

قابلیت برنامه نویسی ( شرط ، حلقه و…) به زبان TransactSQL دارد . و….. حال که با قابلیت ها ونحوه ساخت Stored Procedure آشنا شدید بد نیست که به نحوه استفاده از این ابزار جالب در Asp.NET بپردازیم .

استفاده از این ابزار بسیار ساده هست . اگر از SQL Datasource یا ObjectDatasource استفاده می کنید یک ویزارد برای ساخت و استفاده از Stored Procedure ها قرار داده شده که به راحتی آن را مدیریت کنید .

اگر از کد نویسی برای کار با بانک های اطلاعاتی استفاده می کنید کافیه بعد از تعریف SQLCommand به جای دستورات SQL نام SP را وارد نموده و بعد از آن کد زیر را اضافه نمایید : view source

print?

۱٫Cmd.CommandType = CommandType.StoredProcedure;

این کد به برنامه می گوید که دستورات نوشته شده از نوع Stored Procedure هستند و نیازی به ترجمه آن ها نیست .

در نهایت کد های اتصال ما به شکل زیر خواهد بود :

view source print? 01.SqlConnection Con=new SqlConnection(“YourConnectionString”);

۰۲٫

۰۳٫SqlCommand Cmd = new SqlCommand(“YourProcedureName”, Con);

۰۴٫

۰۵٫

۰۶٫

۰۷٫Cmd.CommandType = CommandType.StoredProcedure;

۰۸٫

۰۹٫

۱۰٫

۱۱٫Con.Open();

۱۲٫

۱۳٫

۱۴٫

۱۵٫// Some Code…

۱۶٫

۱۷٫

۱۸٫

۱۹٫Con.Close(); امیدوارم این مقاله برای شما مفید باشد .