محرک در PL/SQL

ساخت وبلاگ

محرک ها در اوراکل بلوک های کد PL/SQL هستند که Oracle Engine می تواند بر اساس برخی از اقدامات یا رویدادها به طور خودکار اجرا کند.

این رویدادها می توانند:

  • اظهارات DDL (ایجاد ، تغییر ، رها کردن ، کوتاه کردن)
  • بیانیه های DML (درج ، انتخاب ، به روزرسانی ، حذف)
  • عملیات پایگاه داده مانند اتصال یا قطع اتصال به اوراکل (ورود به سیستم ، ورود به سیستم ، خاموش کردن)

محرک ها به طور خودکار و مکرر توسط Oracle Engine در مورد رضایت از شرایط خاص فراخوانی می شوند.

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

اگر محرک ها فعال شوند ، آنها به طور ضمنی توسط Oracle Engine اجرا می شوند و اگر محرک ها غیرفعال شوند ، آنها صریحاً توسط Oracle Engine اجرا می شوند.

PL/SQL: استفاده از محرک ها

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

  • حفظ محدودیت های پیچیده ای که از طریق محدودیت عادی (مانند اولیه ، خارجی ، منحصر به فرد و غیره) با استفاده از تکنیک استفاده می شود.
  • ضبط تغییرات ایجاد شده در جدول.
  • به طور خودکار مقادیر کلید اصلی را تولید می کند.
  • جلوگیری از انجام معاملات نامعتبر.
  • اعطای مجوز و تأمین امنیت به پایگاه داده.
  • اجرای یکپارچگی مرجع.

PL/SQL: بخش هایی از یک ماشه

هر زمان که یک ماشه ایجاد شود ، شامل سه قسمت پی در پی زیر است:

  • تحریک رویداد یا بیانیه: اظهارات ناشی از آن یک ماشه اتفاق می افتد که رویداد یا بیانیه تحریک کننده است. چنین اظهاراتی می تواند اظهارات DDL ، بیانیه های DML یا هرگونه عملکرد پایگاه داده باشد که اجرای آن باعث ایجاد محرک می شود.
  • محدودیت ماشه: شرط یا هر محدودیتی که روی ماشه اعمال می شود ، محدودیت ماشه نامیده می شود. بنابراین ، اگر چنین شرایطی صحیح باشد ، ماشه اتفاق می افتد در غیر این صورت اتفاق نمی افتد.
  • عمل ماشه: بدنه حاوی بیانیه های اجرایی که هنگام وقوع ماشه اجرا می شود که با اجرای بیانیه تحریک و پس از ارزیابی محدودیت ماشه همانطور که درست است ، عمل ماشه نامیده می شود.

PL/SQL: انواع محرک ها

نمودار فوق به وضوح نشان داد که محرک ها را می توان به سه دسته طبقه بندی کرد:

  1. محرک های سطح
  2. محرک های رویداد
  3. زمان بندی باعث می شود

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

محرک های سطح

2 نوع مختلف از محرک سطح وجود دارد ، آنها عبارتند از:

  1. محرک های سطح ردیف
    • این برای هر رکوردی که تحت تأثیر اجرای اظهارات DML مانند درج ، به روزرسانی ، حذف و غیره قرار گرفته است ، آتش می گیرد.
    • همیشه از هر بند ردیف در یک بیانیه تحریک استفاده می کند.
  2. محرک های سطح بیانیه
    • این یک بار برای هر بیانیه ای که اجرا می شود آتش می گیرد.

محرک های رویداد

3 نوع مختلف از محرک رویداد وجود دارد ، آنها عبارتند از:

  1. محرک رویداد DDL
    • با اجرای هر جمله DDL آتش می گیرد (ایجاد ، تغییر ، قطره ، کوتاه کردن).
  2. محرک رویداد DML
    • با اجرای هر بیانیه DML (درج ، به روزرسانی ، حذف) آتش می گیرد.
  3. محرک رویداد پایگاه داده
    • با اجرای هر عملیات پایگاه داده که می تواند ورود به سیستم ، ورود به سیستم ، خاموش کردن ، ServerError و غیره باشد ، آتش می گیرد.

زمان بندی باعث می شود

2 نوع مختلف از محرک زمان بندی وجود دارد ، آنها عبارتند از:

  1. قبل از ماشه
    • قبل از اجرای بیانیه DML آتش می گیرد.
    • بیانیه تحریک بسته به بلوک شرط قبل از آن ممکن است اجرا شود یا ممکن است اجرا نشود.
  2. بعد از ماشه
    • پس از اجرای بیانیه DML آتش می گیرد.

نحو برای ایجاد محرک ها

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

ایجاد یا جایگزینی Trigger یک کلمه کلیدی است که برای ایجاد یک ماشه استفاده می شود و تعریف شده توسط کاربر است که در آنجا می توان یک ماشه را نامگذاری کرد.

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

درج/به روز رسانی/حذف عبارت DML را مشخص کنید.

نام جدول را که در آن بیانیه DML اعمال می شود ، مشخص کنید.

ارجاع یک کلمه کلیدی است که برای ارائه ارجاع به مقادیر قدیمی و جدید برای عبارات DML استفاده می شود.

برای هر ردیف بند مورد استفاده برای مشخص کردن سطح ردیف Tigger است.

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

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

زمان برای یک مثال!

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

جدول دانشجویی در زیر آمده است ،

 

غلتک ناله سن دوره
11 مبهم 20 باسن
12 اره 21 دوتایی
13 اره 18 BCA
14 چتر 20 BCA
15 نیهانی 19 BBA

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

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

برچسب : نویسنده : احمد شاملو بازدید : 46 تاريخ : چهارشنبه 23 فروردين 1402 ساعت: 17:09