Trigger For Before

05/09/2012

טריגרים "רגילים" על נתוני טבלה הם מסוג For After: ניתן להגדיר אותם במפורש ככאלה, אך גם ללא הגדרה מפורשת הם יהיו כאלו כל עוד לא הוגדר אחרת. מאי נפקא מינה For After? תסריט טיפוסי יכול להיות הוספת שורה לטבלה שמפעילה טריגר שמעדכן טבלת לוג לגבי השינוי, או מעדכן טבלת דוח כך שתהיה מעודכנת גם לגבי השורה שהתווספה לטבלה התפעולית, או אפילו שולח מייל למי שאמור להתעדכן לגבי כך. מדוע אחרי ולא לפני או תוך כדי? זה הרי סדר הדברים: מעדכנים את טבלת הלוג לפי הטבלה התפעולית ולא להיפך.. ומה לגבי For...

Cursor עם SQL דינאמי

04/09/2012

נניח שיש לנו צורך ב-Cursor הכולל SQL דינאמי. למשל: אנחנו כותבים פרוצדורה שמקבלת שם של דטבייס, וצריכה לעבור בעזרת Cursor על כל האינדקסים באותו דטבייס לצורכי תחזוקה. לו הפרוצדורה הייתה מיועדת לדטבייס ספציפי לא הייתה בעייה לכתוב משהו כזה- Declare Cr Cursor Fast_Forward For Select name From AdventureWorks.sys.indexes Where type_desc<>'HEAP'; Declare @name sysname; Open Cr; Fetch Cr Into @name; While @@Fetch_Status = 0 ...
תגובה אחת