הגדרת סדר הרצת הטריגרים בסביבת Oracle 11g - ilDBA Portal

הגדרת סדר הרצת הטריגרים בסביבת Oracle 11g

29/05/2011 | פורסם על ידי

מרוב עצים לא רואים את היער (או במילים אחרות – מרוב טריגרים לא יודעים מה הסדר…)

בסיס הנתונים של אורקל מאפשר ליצור יותר מטריגר אחד על אותו האירוע, עבור אותה הטבלה, באותו התזמון. לדוגמא:

CREATE OR REPLACE TRIGGER TRIG1 AFTER INSERT ON EMP
BEGIN
DBMS_OUTPUT.PUT_LINE('I AM TRIGGER 1');
END;
/
CREATE OR REPLACE TRIGGER TRIG2 AFTER INSERT ON EMP

BEGIN
DBMS_OUTPUT.PUT_LINE('I AM TRIGGER 2');
END;
/

במקרה הנ"ל, אין לתוכניתן אפשרות להבטיח איזה טריגר ירוץ ראשון מאחר ושניהם אמורים לרוץ באותו התזמון בדיוק. למעשה, אם תריצו את הדוגמא הנ"ל, קרוב לוודאי שתיראו כי דווקא הטריגר האחרון שנוצר, TRIG2, יהיה זה שירוץ ראשון.

בסיס הנתונים של אורקל בגרסת 11g פותר את הסוגיה הנ"ל בצורה פשוטה ביותר – בעזרת פקודת ה- FOLLOWS.

הסינטקס החדש של בסיס הנתונים של אורקל בגרסת 11g מאפשר לתוכניתן לקבוע בעת יצירת הטריגר את הסדר שבו ירוצו הטריגרים השונים, וזאת בעזרת פקודת ה- FOLLOWS החדשה. להלן דוגמא:

CREATE OR REPLACE TRIGGER TRIG1 AFTER INSERT ON EMP
BEGIN
DBMS_OUTPUT.PUT_LINE('I AM TRIGGER 1');
END;
/
CREATE OR REPLACE TRIGGER TRIG2 AFTER INSERT ON EMP FOLLOWS TRIG1
BEGIN
DBMS_OUTPUT.PUT_LINE('I AM TRIGGER 2');
END;
/

כעת, כאשר תריצו את הדוגמא הנ"ל, תראו כי הטריגר TRIG1 ירוץ קודם, לפני הטריגר TRIG2 וזאת מאחר והשתמשנו בפקודה FOLLOWS TRIG1 בעת יצירת הטריגר TRIG2.

למידע נוסף על שיפורים בטריגרים בסביבת 11g, הכנסו לאתר :
http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28370/triggers.htm#g1041767
http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28370/create_trigger.htm#CJADJGIF

נתראה ברשומה הבאה!

עמי אהרונוביץ

ניתן ליצור קשר עם עמי דרך עמוד האודות שלו: אודות

השאר תגובה:

שם (חובה):
אימייל (לא יפורסם) (חובה):
תגובה (חובה):

*



מאמרים קשורים

חידושים

חידושים ב-Oracle SQL*Plus בסביבת 11g

ברשומה זו נסקור לכם על חידושים בכלי הותיק [...]
Database

Database Replay Part 3 – Replay Video – צעד אחר צעד

בסרטון זה נמשיך לדבר על New feature בגרסת 11g שמגיע כחלק מחבילת Real Application Testing - Database Replay Database Replay מאפשר לנו לצלם את פעילות הDB ולהריץ אח"כ את הקלטת הפעילות על DB אחר עד מנת לבדוק שינויי חומרה/תוכנה [...]
Database

Database Replay Part 2 – Process Video – צעד אחר צעד

בסרטון זה נמשיך לדבר על New feature בגרסת 11g שמגיע כחלק מחבילת Real Application Testing - Database Replay Database Replay מאפשר לנו לצלם את פעילות הDB ולהריץ אח"כ את הקלטת הפעילות על DB אחר עד מנת לבדוק שינויי חומרה/תוכנה [...]
Oracle

Oracle Database Replay Part 1 – Capture Video – צעד אחר צעד

בסרטון זה נציג New feature בגרסת 11g שמגיע כחלק מחבילת Real Application Testing - Database Replay Database Replay מאפשר לנו לצלם את פעילות הDB ולהריץ אח"כ את הקלטת הפעילות על DB אחר עד מנת לבדוק שינויי חומרה/תוכנה עתידיים [...]
Copyright 2019 ilDBA Portal. Brought to you by Brillix - Israel Leading DBA company. Sponsored by: DBSnaps - Database Video Tutorialss
Website Security Test
%d בלוגרים אהבו את זה: