اوریکل میں ٹرگر کو کیسے غیر فعال کریں۔

Awrykl My Rgr Kw Kys Ghyr F Al Kry



ڈیٹا بیس ٹرگرز، یا مختصر کے لیے ٹرگرز، ذخیرہ شدہ طریقہ کار کا حوالہ دیتے ہیں جو کسی دیے گئے ڈیٹا بیس آبجیکٹ کے اندر ایونٹ کی سرگرمی کے جواب کے طور پر عمل میں لائے جاتے ہیں۔

یہ معیاری ذخیرہ شدہ طریقہ کار سے مختلف ہے، جس کے لیے صارف سے واضح درخواست کی ضرورت ہوتی ہے۔ چونکہ محرکات خودکار ہوتے ہیں، اس لیے متعینہ واقعہ پیش آنے پر وہ متحرک یا فائر کیے جاتے ہیں، قطع نظر اس سے منسلک صارف یا سرور کی حالت۔







زیادہ تر متعلقہ ڈیٹا بیس خودکار کاموں کو انجام دینے کے لیے محرکات کا استعمال کرتے ہوئے معاونت کرتے ہیں جیسے کہ غلط لین دین کو روکنا، ایونٹ لاگنگ، ٹیبل تک رسائی کے اعدادوشمار کی بازیافت اور ریکارڈنگ وغیرہ۔



ایک بار جب ٹرگر بن جاتا ہے، تو یہ ہمیشہ چلتا ہے جب بھی متعلقہ واقعہ ہوتا ہے۔ تاہم، آپ عارضی طور پر یا مستقل طور پر کسی ٹرگر کو کام کرنے سے روک سکتے ہیں۔ یہ وہ جگہ ہے جہاں ٹرگر کو غیر فعال کرنے کی خصوصیت کام میں آتی ہے۔



اس پوسٹ میں اوریکل ڈیٹا بیس میں ٹرگر کو غیر فعال کرنے کے فوری اور آسان اقدامات کے بارے میں بات کی جائے گی۔ اگر آپ اوریکل ٹرگرز میں نئے ہیں اور جاننا چاہتے ہیں کہ اسے کیسے بنایا جائے تو درج ذیل لنک کو چیک کریں:





https://linuxhint.com/oracle-create-trigger

ٹیسٹ ٹرگر بنانا

اس سے پہلے کہ ہم ٹرگر کو غیر فعال کرنے کے طریقوں پر بات کریں، آئیے ہم مظاہرہ کے مقاصد کے لیے ایک نمونہ ٹرگر ترتیب دیں۔



نوٹ : یہ سیکشن اس بات کا احاطہ نہیں کرتا ہے کہ ڈیٹا بیس کے محرکات کی وضاحت یا استعمال کیسے کریں۔

ہم ایک ٹرگر بنانا چاہتے ہیں جو ڈیلیٹ آپریشن کے بعد صارف کی سرگرمی کو لاگ کرتا ہے۔ مثال کے طور پر، فرض کریں کہ ہمارے پاس معلومات کے ساتھ ایک نمونہ_ڈیٹا ٹیبل ہے جیسا کہ دکھایا گیا ہے:

ہمیں سب سے پہلے ایک ٹیبل بنانے کی ضرورت ہے جہاں ہم حذف کرنے کی ہر سرگرمی کے لاگز کو محفوظ کرتے ہیں۔

ٹیبل اسکیما مندرجہ ذیل ہے:

ٹیبل کا نمونہ_ڈیٹا_لاگز بنائیں (
شناختی نمبر،
پہلا نام varchar2(50)،
ip_address varchar2(20)،
btc_address varchar2(50)،
کریڈٹ کارڈ varchar2(50)،
شناخت کنندہ varchar2(40)،
حذف_تاریخ تاریخ،
حذف شدہ_بذریعہ varchar2(20)
);

اگلا، ہمیں ایک ٹرگر کی وضاحت کرنے کی ضرورت ہے جو ڈیلیٹ ایونٹ کے بعد عمل میں آتا ہے۔ محرک کی تعریف اس طرح فراہم کی گئی ہے:

ٹریگر log_user بنائیں یا تبدیل کریں۔
حذف کرنے کے بعد
نمونہ_ڈیٹا پر
ہر قطار کے لیے
اعلان
ایکشن_صارف نام varchar2(20)؛
شروع
دوہری سے ایکشن_صارف نام میں صارف کو منتخب کریں؛
نمونہ_ڈیٹا_لاگز میں داخل کریں۔
اقدار (:OLD.id،
:OLD.first_name،
:OLD.ip_address،
:OLD.btc_address،
:OLD.credit_card،
:OLD.identifier،
نظام تاریخ،
ایکشن_صارف نام)؛
اختتام

ٹرگر کو جانچنے کے لیے، آئیے نمونہ_ڈیٹا ٹیبل سے ڈیلیٹ آپریشن کریں جیسا کہ دکھایا گیا ہے:

نمونہ_ڈیٹا سے حذف کریں جہاں id = 1؛

آخر میں، ہم لاگز ٹیبل کو چیک کر سکتے ہیں تاکہ یہ یقینی بنایا جا سکے کہ ڈیلیٹ آپریشن کو ریکارڈ کیا گیا ہے:

نمونہ_ڈیٹا_لاگز سے * منتخب کریں؛

آؤٹ پٹ:

جیسا کہ ہم دیکھ سکتے ہیں، ٹیبل میں حذف کرنے سے پہلے پچھلے ڈیٹا کا اندراج ہے، ساتھ ہی وہ صارف نام جس نے حذف کرنے کی سرگرمی اور حذف کرنے کا وقت انجام دیا ہے۔

مندرجہ ذیل حصوں میں، ہم اس بات کا مظاہرہ کریں گے کہ پچھلے ٹرگر کو کیسے غیر فعال کیا جائے۔ ایسا کرنے سے پہلے، یقینی بنائیں کہ آپ کا ٹارگٹ ٹرگر فعال ہے اور آپ کے پاس اسے فعال یا غیر فعال کرنے کے لیے کافی اجازتیں ہیں۔

PL/SQL کا استعمال کرتے ہوئے ایک ٹرگر کو غیر فعال کریں۔

ٹرگر کو غیر فعال کرنے کا پہلا اور سب سے سیدھا طریقہ ایس کیو ایل اسٹیٹمنٹ کا استعمال کرنا ہے۔ خوش قسمتی سے، اوریکل ہمیں ALTER TRIGGER بیان فراہم کرتا ہے جس کا نحو درج ذیل فراہم کیا گیا ہے:

ٹرگر ٹرگر_نام کو غیر فعال کریں؛

مثال کے طور پر، log_user ٹرگر کو غیر فعال کرنے کے لیے جو ہم نے پہلے بنایا تھا، ہم درج ذیل کو چلا سکتے ہیں:

ٹرگر log_user کو غیر فعال کریں؛

ایک بار عمل میں آنے کے بعد، ٹرگر پرانے ڈیٹا اور اس صارف کی کاپی نہیں رکھے گا جس نے مندرجہ ذیل میں دکھایا گیا ہے کہ حذف کرنے کا عمل انجام دیا ہے:

نمونہ_ڈیٹا سے حذف کریں جہاں id = 2؛

لاگز چیک کریں:

نمونہ_ڈیٹا_لاگز سے * منتخب کریں؛

آؤٹ پٹ:

جیسا کہ ہم دیکھ سکتے ہیں، ہمارے پاس اب بھی صرف ایک ریکارڈ ہے۔

ایس کیو ایل ڈویلپر کا استعمال کرتے ہوئے ٹرگر کو غیر فعال کریں۔

ہم گرافیکل انٹرفیس میں ٹرگر کو غیر فعال کرنے کے لیے ایس کیو ایل ڈیولپر یوٹیلیٹی استعمال کر سکتے ہیں۔ SQL ڈویلپر میں لاگ ان کرکے شروع کریں۔

'Triggers' سیکشن پر جائیں:

ٹرگرز ڈائرکٹری کو پھیلائیں اور اس ٹرگر کو تلاش کریں جسے آپ غیر فعال کرنا چاہتے ہیں۔ ٹرگر کے نام پر دائیں کلک کریں اور 'غیر فعال' کو منتخب کریں۔

'غیر فعال' آپریشن کی تصدیق کریں اور 'لاگو کریں' پر کلک کریں۔

ایک بار غیر فعال ہونے کے بعد، اوریکل ٹرگر کو گرے کر دیتا ہے، جو اس بات کی نشاندہی کرتا ہے کہ یہ غیر فعال ہے۔

نتیجہ

اس مضمون میں PL/SQL اسٹیٹمنٹس اور SQL Developer یوٹیلیٹی کا استعمال کرتے ہوئے اوریکل ٹرگر کو غیر فعال کرنے کا طریقہ دریافت کیا گیا ہے۔