در این مقاله با یک مثال با رویه های ذخیره شده و توابع تعریف شده توسط کاربر در SQL Server آشنا می شویم. در مقاله قبلی در مورد T/SQL و Cursor بحث کردیم.
اگر می خواهید مقالات قبلی این مجموعه را بخوانید، لطفا این لینک ها را ببینید
معرفی
رویه ذخیره شده
یک رویه ذخیره شده یک شی پایگاه داده است که شامل پرس و جوهای SQL از پیش کامپایل شده است. Stored Procedure یک بلوک از کد است که برای انجام یک کار در زمان نیاز طراحی شده است.
هر زمان که بخواهیم یک پرس و جوی SQL را از یک برنامه اجرا کنیم، ابتدا پرس و جو برای اجرا در جایی که فرآیند کامپایل زمان بر است کامپایل می شود، زیرا هر بار که کوئری را اجرا می کنیم، کامپایل اتفاق می افتد.
برای غلبه بر این مشکل، استنت ها یا پرس و جوهای SQL را در قسمت Stored Procedure اضافه می کنیم و اجرا می کنیم زیرا یک رویه ذخیره شده یک بلوک از پیش کامپایل شده از کد بدون کامپایل است. هر زمان که رویه فراخوانی شود، کوئری اجرا می شود که عملکرد برنامه را افزایش می دهد.
هنگامی که رویه ایجاد می شود، به صورت فیزیکی در سرور به عنوان یک شی پایگاه داده ذخیره می شود که هر زمان که نیاز داشته باشیم می توان آن را فراخوانی کرد.
میتوانیم رویه را از هر برنامهای که با استفاده از داتنت یا جاوا، PHP ایجاد شده است فراخوانی کنیم.
مزایای روش های فروشگاه
- عملکرد برنامه بهبود مییابد زیرا تلفیقی غیرضروری از پرسوجوها وجود ندارد.
- قابلیت استفاده مجدد و امنیت کد
ما می توانیم رویه ذخیره شده را به دو صورت طبقه بندی کنیم.
- رویه های ذخیره شده با پارامترها
- رویه های ذخیره شده بدون پارامتر.
رویه های ذخیره شده با پارامترها
- Create Procedure <Proc Name>
- @<Variable/Parameters Name> [Datatype]
- As
- Begin
- <Query/Statement>
- End
رویه های ذخیره شده بدون پارامتر
- Create Procedure <Proc Name>
- As
- Begin
- <Query/Statement>
- End
نحو برای فراخوانی یک رویه ذخیره شده
Execute/Exec <Proc Name> پارامترها.
مثال
یک رویه برای چاپ پیام ایجاد کنید.
- Create procedure Sp_message
- As
- Begin
- Print 'Welcome to C# Corner'
- End