שפיפון ים סינגפורי
New member
sql server 2008, שאלה על טריגרים
יש לי database שמכיל בערך 20 טבלאות, ואני מעוניין ליצור להם טריגרים של for update.
עד כאן הכל פשוט, אלא שאני רוצה לבצע פעולות בטריגרים האלו רק במידה ושדות מסויימים השתנו.
אם היה מדובר על טריגר בודד, הייתי פשוט כותב השוואה בין inserted ל deleted, או משתמש בפונקציה update.
הבעיה היא שמדובר על כמות גדולה של טריגרים וחשבתי שאפשר אולי לכתוב את ההשוואה עצמה בתוך udf או stored procedure,
ופשוט להשתמש בה בכל אחד מהטריגרים,
השאלה היא איך אני מעביר את המידע מתוך ה inserted וה deleted לפונקציה או פרוצדורה?
כמובן, המטרה היא שהפונקציה\פרוצדורה תהיה אחידה לכל הטבלאות ולא אצטרך להגדיר את רשימת השדות לכל אחת מהטבלאות בנפרד.
לחילופין, האם יש איזה שהיא דרך להבין איך משתמשים ב updated_columns בלי לעשות תואר במתימטיקה? לא הצלחתי להבין כלום מהדוגמאות ב BOL.
יש לי database שמכיל בערך 20 טבלאות, ואני מעוניין ליצור להם טריגרים של for update.
עד כאן הכל פשוט, אלא שאני רוצה לבצע פעולות בטריגרים האלו רק במידה ושדות מסויימים השתנו.
אם היה מדובר על טריגר בודד, הייתי פשוט כותב השוואה בין inserted ל deleted, או משתמש בפונקציה update.
הבעיה היא שמדובר על כמות גדולה של טריגרים וחשבתי שאפשר אולי לכתוב את ההשוואה עצמה בתוך udf או stored procedure,
ופשוט להשתמש בה בכל אחד מהטריגרים,
השאלה היא איך אני מעביר את המידע מתוך ה inserted וה deleted לפונקציה או פרוצדורה?
כמובן, המטרה היא שהפונקציה\פרוצדורה תהיה אחידה לכל הטבלאות ולא אצטרך להגדיר את רשימת השדות לכל אחת מהטבלאות בנפרד.
לחילופין, האם יש איזה שהיא דרך להבין איך משתמשים ב updated_columns בלי לעשות תואר במתימטיקה? לא הצלחתי להבין כלום מהדוגמאות ב BOL.