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



  • ۱۰
  • فروردین

جلسه ۲۰ : معاملات PL / SQL

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

      مقدمه

      با عرض سلام و خسته نباشید خدمت کاربران محترم سایت آموزشی پی وی لرن. و کاربرانی که آموزش کامل  PL/SQL را دنبال می کنند. در این جلسه، ما در مورد تراکنش PL / SQL صحبت خواهیم کرد. پایگاه داده تراکنش در PL / SQL  یک واحد اتمی کار است که ممکن است شامل یک یا چند جمله مرتبط با SQL باشد. حالا باید بگیم چرا اتم ؟ اتم نامیده می شود زیرا تغییرات پایگاه داده بوسیله اظهارات SQL که تراکنش را تشکیل می دهند می تواند به صورت جمعی متعهد باشد.

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

      شروع و پایان یک تراکنش در PL / SQL

      یک تراکنش شروع و پایان است. تراکنش زمانی شروع می شود که یکی از رویدادهای زیر رخ دهد.

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

      یک تراکنش به پایان می رسد زمانی که یکی از وقایع زیر رخ می دهد.

      • COMMIT یا ROLLBACK بیانیه صادر شده است.
      • بیانیه DDL مانند عبارت CREATE TABLE صادر می شود؛ زیرا در این صورت COMMIT به طور خودکار انجام می شود.
      • یک بیانیه DCL مانند یک بیانیه GRANT صادر می شود؛ زیرا در این صورت COMMIT به طور خودکار انجام می شود.
      • کاربر از پایگاه داده جدا می شود.
      • خروج کاربر از SQL * PLUS با صدور فرمان EXIT، COMMIT به طور خودکار انجام می شود.
      • SQL * Plus به طور غیرقطعی متوقف می شود، ROLLBACK به طور خودکار انجام می شود.
      • بیانیه DML ناتوان است در این صورت ROLLBACK به طور خودکار برای لغو عبارت DML انجام می شود.

      اتخاذ تراکنش در PL / SQL

      تراکنش با صدور فرمان SQL COMMIT انجام می شود. دستورالعمل کلی برای دستور COMMIT به صورت زیر است.

      مثال : 

      به طور مثال :

      مثال : 

      تراکنش نزولی PL / SQL

      تغییرات ساخته شده در پایگاه داده بدون COMMIT می تواند با استفاده از دستور ROLLBACK لغو شود.

      دستورالعمل کلی برای دستور ROLLBACK به صورت زیر است.

      مثال : 

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

      مثال : 

      جایزه ها

      Points of Sale نوعی نشانگرهایی هستند که با تنظیم برخی از پست های بازرسی، در تقسیم یک تراکنش طولانی به واحدهای کوچکتر کمک می کنند. با تنظیم پارامترهای ذخیره در یک تراکنش طولانی، در صورت لزوم می توانید به یک پست بازرسی بازگردید. که با صدور فرمان SAVEPOINT انجام می شود.

      دستورالعمل کلی برای دستور SAVEPOINT به شرح زیر است.

      مثال : 

      برای مثال

      مثال : 

      ROLLBACK TO sav1 : این بیانیه همه تغییرات را به نقطه بازگرداند، جایی که تو savepoint sav1 را مشخص کردی.

      پس از آن، تغییرات جدیدی که ایجاد می کنید شروع خواهند شد.

      کنترل اتوماتیک تراکنش در PL / SQL

      برای اجرای COMMIT به صورت خودکار هر زمان که دستور INSERT، UPDATE یا DELETE اجرا شود، می توانید متغیر محیط AUTOCOMMIT را به عنوان داشته باشید.

      مثال : 

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

      مثال : 

      کلام آخر

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

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