مفهوم Stored Procedure ها در پایگاه اطلاعات چیست؟

مفهوم Stored Procedure ها در پایگاه اطلاعات چیست؟

Stored Procedure ها عبارت از یک یا چندین دستورSQL بوده و یک واحد برنامه ی قابل اجراست که میتواند به عنوان شئ در پایگاه داده ذخیره شود. با علامه اختصاری SP نیز نوشته میشود، این sp  ها میتواند از برنامه های کاربردی مشترک اجرا شود تا اجرای خوبی پیدا کند. SP میتواند از صفحه های دیگر و یا حتی Stored Procedure های دیگر نیز خوانده شود.

SP ذخیره شده در پایگاه داده می تواند دارای ورودی و خروجی باشد و تمامی اعمال اصلی بر روی یک پایگاه اطلاعات (Create, Read, Update, Delete) را که به آنان اختصارا CRUD می گویند را می توان در SP  تعریف کرد. از مهم ترین مزایای استور پروسیجر این است که یک بار نوشته می شوند و هر زمانی که نیاز به استفاده از آنها باشد، فراخوانی و اجرا می شوند.

حتما بخوانید:خودشناسی یک تلاش آگاهانه در مسیر پیشرفت و خودسازی است

Stored Procedure هامی توانند نقش مهمی در جلوگیری از Injection SQL ها داشته باشند، زیرا نوع داده های (Data Type) پارامترهای ورودی نیز کنترل می شود. همچنین در پایگاه های داده SP ها مکانیزم کنترل دسترسی دارند و می توان کاربرانی که امکان فراخوانی و اجرای آنها را دارند را نیز تعیین نمود.

نحوی ساختن Stored Procedure طور ذیل میباشد

  • SQL Server را باز کرده و وارد دیتابیس مورد نظر تان شده و بالای آن کلیک کرده و گزینه programmability را باز کنید و بعد وارید بخش Stored Procedure شوید.
  • بر روی Stored Procedure  راست کلیک کرده و New Stored Procedure را انتخاب نمایید .
  • بعداز ساختن یک Stored Procedure جدید شما به کد های ازقبل نوشته شده روبرو میشوید ولی تشویش نکنید نیاز نیست شما آنرا یاد بیگیرید همه آنرا پاک کرده و مطابق ذیل کد نویسی کنید.

در قسمت ProcedureName نام Stored Procedure مورد نظر تانرا تایپ کنید.

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

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

مثال

Stored Procedure  زیر اطلاعات کارمند را با دریافت پارامتر نام  کارمند (@fName) از جدول Staff دریافت می کنیم.

فواید و قابلیت های Stored Procedural

  1. Precompiled میباشد یعنی بطور کامل از اول ترجمه نمیشود ، این امر باعث افزایش سرعت بارگزاری می گردد .
  2. قابلیت ذخیره داشته و میتوان از یک Stored Procedural چندین بار در کد نویسی استفاده کرد .
  3. دارای ویرایشگمر Queryمی باشد (میتوانید به سادگی یک Query حرفه ای ایجاد کنید)
  4. دارای Syntax Parserهست و از خطاهای SQL جلوگیری می کند .
  5. دارای امنیت بالایی است و از هک شدن سایت شما توسط SQL Injectionدر بسیاری موارد جلوگیری می کند .
  6. قابلیت درج چندین دستور SQLرا پشت سرهم داراست .
  7. قابلیت ارسال ورودی و خروجی دارد .
  8. قابلیت برنامه نویسی ( شرط ، حلقه و…) به زبان TransactSQLدارد .

برای آموزش های بیشتر رجوع را دنبال کنید

مرتضی فرحتیار

پست‌های مرتبط
دیدگاهتان را بنویسید:
کد امنیتی در تصویر کلیک کنید برای به روز رسانی تصویر امنیتی.