دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۸
  • فروردین

جلسه ۱۲ : متدها در PL/SQL

  • دسته‌بندی‌ها :
جلسه ۱۲ : متدها در PL/SQL
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و خسته نباشید خدمت کاربران محترم سایت آموزشی پی وی لرن. و کاربرانی که آموزش کامل  PL/SQL را دنبال می کنند. در این پست آموزشی، ما درمورد متد ها در PL/SQL صحبت خواهیم کرد. یک زیر برنامه PL / SQL ، یک واحد( ماژول ) برنامه است که یک کار خاص را انجام می دهد. این زیر برنامه ها برای ایجاد برنامه های بزرگ تر ترکیب شده اند. این اساسا “طراحی مدولار” نامیده می شود. یک زیر برنامه را می توان با زیر برنامه یا برنامه دیگری که برنامه فراخوانی نامیده می شود، فراخوانی کرد.

      آشنایی با متد ها در PL/SQL

      زیربرنامه را می توان به سه روش ایجاد کرد:

      • در سطح طرح
      • داخل یک بسته
      • داخل یک بلوک PL / SQL

      در سطح طرح

      در سطح طرح، زیر برنامه یک زیرمجموعه مستقل است. این با CREATE PROCEDURE یا بیانیه CREATE FUNCTION ایجاد شده است. که در پایگاه داده ذخیره می شود و می تواند با دستور DROP PROFILE یا DROP FUNCTION حذف شود.

      داخل یک بسته

      یک زیرمجموعه ایجاد شده در داخل یک بسته یک زیر پروژۀ بسته بندی شده است. که در پایگاه داده ذخیره می شود و می تواند تنها زمانی حذف شود که بسته با دستور DROP PACKAGE پاک شود. ما بسته ها را در جلسه بسته در PL/SQL توضیح خواهیم داد.

      داخل یک بلوک PL / SQL

      در خصوص مبحث متد ها در PL/SQL زیر برنامه PL / SQL بلوک های PL / SQL نامیده می شوند که می تواند با مجموعه ای از پارامترها مورد استفاده قرار گیرد. PL / SQL دو نوع زیر برنامه را فراهم می کند.

      • توابع :  این زیر برنامه ها یک مقدار واحد را می دهند؛ به طور عمده برای محاسبه و بازگشت ارزش استفاده می شود.
      • متد ها : این زیر برنامه ها مستقیما ارزش را ارائه نمی دهند؛ عمدتا برای انجام یک عمل استفاده می شود.

      این جلسه به بررسی جنبه های مهم یک متد PL / SQL می پردازد. ما در جلسه بعد درباره عملکرد PL / SQL صحبت خواهیم کرد.

      قسمت های زیر برنامه PL / SQL

      هر برنامه زیر PL / SQL نام دارد و همچنین ممکن است یک لیست پارامتر داشته باشد. بلوک های نامشخص مانند بلوک های ناشناس PL / SQL نیز سه قسمت زیر را دارند:

      S.Noمتد ها در PL/SQL و توضیحات
      ۱بخش اعلامیه

      این قسمت اختیاری است. با این حال، بخش اعلامیه برای یک زیر برنامه با کلید واژه DECLARE شروع نمی شود. این شامل اعلان انواع، مکان نما ها، ثابت ها، متغیرها، استثنا ها و زیر برنامه های توزیع شده است. این موارد محلی هستند در زیر برنامه PL / SQL زمانی که زیر برنامه اجرایی را کامل اجرا می کنند، متوقف می شود.

       

      ۲قسمت اجرایی

      این یک بخش اجباری است و حاوی اظهارات است که عمل تعیین شده را انجام می دهند.

       

      ۳استثنا-دست زدن

      این دوباره یک قسمت اختیاری است. این شامل کد است که خطاهای زمان اجرا را مدیریت می کند.

      ایجاد متد ها در PL/SQL

      یک متد با دستور CREATE OR REPLACE PROCEDURE ایجاد می شود. دستورالعمل ساده برای دستور CREATE OR REPLACE PROCEDURE به شرح زیر است:

      مثال : 

      جایی که

      • نام procedure-name نام مراحل را مشخص می کند.
      • گزینه [OR REPLACE] امکان اصلاح یک متد موجود را فراهم می کند.
      • لیست پارامتر اختیاری شامل نام، حالت و انواع پارامترها می باشد. IN نشان دهنده ارزش است که از خارج خارج می شود و OUT نشانگر پارامتر است که برای بازگشت به یک مقدار خارج ازاین متد استفاده می شود.
      • procedure-body حاوی بخش اجرایی است.
      • کلید واژه AS به جای کلید واژه IS برای ایجاد یک متد مستقل استفاده می شود.

      مثال

      مثال زیر یک متد ساده ایجاد می کند که رشته “Hello World!” را نمایش می دهد. و در هنگام اجرا، اجرا می شود.

      مثال : 

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

      مثال : 

      اجرای یک متد مستقل

      یک متد مستقل می تواند به دو صورت نامیده شود:

      • با استفاده از کلید واژه EXECUTE
      • فراخوانی نام متد از یک بلوک PL / SQL

      متد فوق به نام Hello می تواند با کلمه کلیدی EXECUTE به نام نمایش داده شود.

      مثال : 

      تماس فوق نمایش داده خواهد شد.

      مثال : 

      این متد همچنین می تواند از یکی دیگر از بلوک های PL / SQL نام ببرد.

      مثال : 

      تماس فوق نمایش داده خواهد شد.

      مثال : 

      حذف یک متد مستقل

      یک روال مستقل با بیانیه DROP PROCEDURE حذف می شود.

      نحوه حذف دستورالعمل:

      مثال : 

      شما می توانید با استفاده از بیانیه زیر مراحل Hello را حذف کنید.

      مثال : 

      حالت های پارامتر در زیر برنامه PL / SQL

      جدول زیر لیست حالت های پارامتر در زیر برنامه های PL / SQL را نشان می دهد.

      S.Noحالت پارامتر و شرح
      ۱IN

      یک پارامتر IN به شما اجازه می دهد تا یک مقدار را به زیر برنامه منتقل کنید. این یک پارامتر read-only است. در داخل زیر برنامه PL / SQL ، یک پارامتر IN مانند یک ثابت عمل می کند. نمی توان ارزش آن را تعیین کرد. شما می توانید یک متغیر ثابت، لفظی، متغیر اولیه یا بیان را به عنوان پارامتر IN تغییر دهید. شما همچنین می توانید آن را به مقادیر پیش فرض مقداردهی اولیه کنید؛ با این حال، در این مورد، فراخوان زیر برنامه PL / SQL حذف شده است. این حالت پیش فرض پارامتر است. پارامترها توسط مرجع منتقل می شوند.

       

      ۲OUT

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

       

      ۳IN OUT

      یک پارامتر IN OUT یک مقدار اولیه را به یک زیرپرونده انتقال می دهد و یک مقدار به روز شده را به تماس دهنده باز می گرداند. می توان آن را ارزش گذاری کرد و ارزش را می توان خواند.

      پارامتر واقعی مربوط به یک پارامتر رسمی IN OUT باید یک متغیر باشد، نه یک ثابت یا یک عبارت. پارامتر رسمی بایدبه یک مقدار اختصاص داده شود. پارامتر واقعی بر اساس مقدار است.

      مثال حالت IN و OUT 1

      این برنامه حداقل دو مقدار را پیدا می کند. در اینجا، این متد دو عدد را با استفاده از حالت IN می گیرد و حداقل خود را با استفاده از پارامترهای OUT باز می گرداند.

      مثال : 

      هنگامی که کد بالا در SQL فوری اجرا می شود، نتیجه زیر را تولید می کند.

      مثال : 

      مثال حالت IN & OUT 2

      این متد مقدار مربع ارزش یک مقدار منتشره را محاسبه می کند. این مثال نشان می دهد که چگونه می توانیم از یک پارامتر مشابه برای پذیرش یک مقدار استفاده کنیم و سپس یک نتیجه دیگر را بازگردانیم.

      مثال : 

      هنگامی که کد بالا در SQL فوری اجرا می شود، نتیجه زیر را تولید می کند.

      مثال : 

      متد های عبور پارامترها

      پارامترهای واقعی را می توان به سه متد انتقال داد:

      • نشانه موقعیتی
      • علامت گذاری نامیده می شود
      • نماد ترکیبی

      نشانه موقعیتی

      در نشانه موقعیت، شما می توانید این متد را به عنوان

      مثال : 

      در نماد موقعیتی، اولین پارامتر واقعی برای اولین پارامتر رسمی جایگزین می شود. دومین پارامتر واقعی برای پارامتر دوم رسم شده و غیره جایگزین می شود. بنابراین، a برای x جایگزین می شود، b برای y جایگزین می شود، c برای z جایگزین می شود و d برای m جایگزین می شود.

      علامت گذاری نامیده می شود

      در نماد نامگذاری، پارامتر واقعی با پارامتر رسمی با استفاده از نماد فلش (=>) مرتبط است. فراخوانی متد مانند زیر است.

      مثال : 

      نشانه مخلوط

      در نماد ترکیبی، شما می توانید هر دو نماد در فراخوانی رویه؛ با این حال، علامت موقعیت باید قبل از علامت گذاری نامیده شود.

      حالت زیر قانونی است.

      مثال : 

      با این وجود این قانونی نیست.

      مثال : 

      هنگامی که شما یک متد ها در PL/SQL یا function را ایجاد می کنید، شما ممکن است پارامترهایی را تعریف کنید. سه نوع پارامتر وجود دارد :

      IN : این نوع پارامتر می تواند ارجاع شود توسط متد ها در PL/SQL یا function. که مقدار آن نمی تواند توسط procedure ( متد ها در PL/SQL ) یا function جایگزین شود.
      OUT : این نوع پارامتر نمی تواند ارجاع شود توسط متد ها در PL/SQL یا function. اما مقدار آن می تواند توسط procedure یا function جایگزین شود.
      IN OUT : این نوع پارامتر می تواند ارجاع شود توسط متد ها در PL/SQL یا function.و مقدار آن می تواند توسط procedure یا function جایگزین شود.

      QR:  جلسه ۱۲ : متدها در PL/SQL
      به اشتراک بگذارید