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



  • ۸
  • فروردین

جلسه ۱۴ : مکان نما در PL/SQL

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

      مقدمه

      با عرض سلام و خسته نباشید خدمت کاربران محترم سایت آموزشی پی وی لرن. و کاربرانی که آموزش کامل  PL/SQL را دنبال می کنند. در این پست آموزشی، ما در مورد cursor در PL / SQL ( مکان نما در PL / SQL ) بحث خواهیم کرد. اوراکل یک ناحیه حافظه ایجاد می کند، برای پردازش یک دستور SQL، که حاوی تمام اطلاعات مورد نیاز برای پردازش بیانیه است. برای مثال، تعداد ردیف های پردازش شده و همچنین مکان نما یک اشاره گر به این ناحیه است. PL / SQL زمینه را از طریق مکان نما در PL / SQL کنترل می کند. یک مکان نما (یک یا چند) ردیف را با یک دستور SQL باز می کند. مجموعه ای از سطرها که مکان نما در PL / SQL را  نگه می دارد، و به عنوان مجموعه فعال شناخته می شود.

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

      شما می توانید مکان نما را نامگذاری کنید تا بتوانید آن را در یک برنامه به منظور استخراج و پردازش ردیف های بازگشت شده توسط دستور SQL، یکی در یک زمان، به کار برد. دو نوع مکان نما وجود دارد.

      • نشانگرهای نامنظم
      • نشانگرهای صریح

      نشانگرهای نامنظم

      اشاره گرهای نامتعارف به طور خودکار توسط اوراکل هر زمان که یک دستور SQL اجرا می شود، ایجاد می شود، زمانی که هیچ اشاره گر صریح برای این عبارت وجود ندارد.

      برنامه نویسان نمی توانند مکان نما در PL / SQL ضمنی و اطلاعات موجود در آن را کنترل کنند.

      هر وقت یک بیانیه (DML ،INSERT، UPDATE و DELETE) صادر می شود، یک نشانگر ضمنی با این عبارت مرتبط می شود.

      برای عملیات INSERT، مکان نما دارای اطلاعاتی است که باید وارد شود.

      برای عملیات UPDATE و DELETE، مکان نما ردیف هایی را که تحت تاثیر قرار می گیرند شناسایی می کند.

      در PL / SQL، می توانید به جدیدترین نشانگر ضمنی به عنوان نشانگر SQL مراجعه کنید، که همیشه دارای صفات مانند٪ FOUND،٪ ISOPEN،٪ NOTFOUND و٪ ROWCOUNT است.

      مکانیزم SQL دارای ویژگی های اضافی،٪ BULK_ROWCOUNT و٪ BULK_EXCEPTIONS است، که طراحی شده برای استفاده از بیانیه FORALL.

      جدول زیر توضیح ویژگی های مورد استفاده ترین را ارائه می دهد.

      S.Noمشخصه و شرح
      ۱%FOUND

      اگر یک عبارت INSERT، UPDATE، یا DELETE به یک یا چند ردیف برسد یا یک دستور SELECT INTO، یک یا چند ردیف را با علامت TRUE بازگشت می دهد. در غير اين صورت، FALSE باز مي گردد.

      ۲%NOTFOUND

      مخالف منطقی٪ FOUND. TRUE اگر یک عبارت INSERT، UPDATE، یا DELETE هیچ ردیف ایفا نکند، یا یک دستور SELECT INTO بدون ردیف بازگشت می کند. در غير اين صورت، FALSE باز مي گردد.

      ۳%ISOPEN

      همیشه FALSE را برای نشانگرهای ضمنی به ارث می برند، زیرا اوراکل پس از اجرای دستور SQL مربوط به آن، به طور اتوماتیک مکان نما را بسته می کند.

      ۴%ROWCOUNT

      تعداد ردیف های تحت تاثیر یک دستور INSERT، UPDATE، یا DELETE را برمی گرداند، یا توسط دستور SELECT INTO بازگشت می کند.

      هر ویژگی مشخصه cursor به عنوان sql٪ attribute_name به صورت مثال نمایش داده می شود.

      مثال

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

      مثال : 

      برنامه زیر جدول را به روز می کند و حقوق و دستمزد هر مشتری را با ۵۰۰ افزایش می دهد و

      از ویژگی SQL٪ ROWCOUNT برای تعیین تعداد ردیف ها استفاده می کند.

      مثال : 

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

      مثال : 

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

      مثال : 

      نشانگرهای صریح

      نشانگرهای صریح، مکانیزم های تعیین شده توسط برنامه نویس هستند تا بتوانند کنترل بیشتری بر زمینه منطقه داشته باشند.

      یک نشانگر صریح باید در بخش اعلام بلوک PL / SQL تعریف شود.

      که در یک بیانیه SELECT که بیش از یک ردیف باز می شود ایجاد می شود.

      نحوه ایجاد یک نشانگر صریح

      مثال : 

      کار با مکان نما صریح شامل مراحل زیر است.

      • اعلام مکان نما برای مقداردهی اولیه حافظه
      • باز کردن مکان نما برای تخصیص حافظه
      • دریافت مکان نما برای بازیابی داده ها
      • بستن مکان نما برای آزاد کردن حافظه اختصاص داده شده

      اعلام مکان نما

      اعلام مکان نما نشانگر را با نام و عبارت SELECT مرتبط می کند.

      به عنوان مثال:

      مثال : 

      بازکردن مکان نما

      باز کردن مکان نما حافظه را برای مکان نما در PL / SQL قرار می دهد و آماده می شود تا ردیف های بازگشت شده توسط دستور SQL را به آن اضافه کند.

      برای مثال :

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

      مثال : 

      کشیدن مکان نما

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

      به عنوان مثال :

      ردیف ها را از مکان نما فوقانی باز خواهیم کرد:

      مثال : 

      بستن مکان نما

      بستن مکان نما به معنای آزاد کردن حافظه اختصاص داده شده است.

      به عنوان مثال :

      مکان نما فوقانی باز را به صورت زیر خواهیم بست.

      مثال : 

      مثال

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

      مثال : 

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

      مثال : 

      کلام آخر

      در این پست آموزشی در مورد مکان نما در PL / SQL صحبت کردیم.

      و دانستیم که cursor در PL / SQL یک نوع متغیر ساخت یافته  می باشد که به ما اجازه می دهد داده ها (در Sql)  را مورد پردازش قرار دهیم .

      در حقیقت یک cursor در PL / SQL کاری موقتی است که در حافظه سیستم جهت ذخیره سازی data استخراج شده از بانک اطلاعاتی استفاده می شود.

      لذا در طول پردازش، ما مکان نما در PL / SQL را از طریق هر خط داده اداره می کنیم.

      این خط داده ها (data) توسط یک  cursor در PL / SQL مشخص شده است.

      با حرکت  cursor در PL / SQL ، می توانید طیفی از داده ها را از یک خط جاری استخراج کنید.

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


      دیدگاه کاربران
      1. تصویر کاربر