משיב מוביל
טריגר על insert עם תנאי

שאלה
-
שלום,
אני צריך עזרה בבקשה עם טריגר על טבלה (נקרא לה table 1) לכאורה פשוט שאמור להכניס לטבלה אחרת (table 2) רשומות מ - table 1 רק לאחר insert וגם אז רק אם ה - insert עונה לתנאי הבא:
SELECT *
FROM table_1
where Tenant_ID = 1
and State_ID = 1 or State_ID = 7תודה למי שיכול לעזור עם קוד.
עופר
תשובות
-
היי עופר,
לא סיפקת את מבנה טבלה ונתת רק פרטים כללים על הצורך ולכן לא נוכל לתת לך קוד משמעותי אבל הכיוון הכללי לדעתי יראה כך:
CREATE TRIGGER My_Trigger
ON Table1
FOR INSERT
AS
INSERT INTO Table2
SELECT *
FROM inserted
WHERE Tenant_ID = 1 AND State_ID IN(1,7)כמובן שתצטרך להוסיף Error Handling, אולי גם Logging וכולי.
שים לב ששיניתי את התנאי בדוגמא - AND לוגית מבוצע לפני OR והנחתי שאתה מחפש אחד משני הסטטוסים בלי קשר ל ID. אם הנחתי שגויה, תחזור לתחביר המקורי שלך.
לפרטים נוספים פנה ל Books On Line לפרק CREATE TRIGGER
HTH
Ami Levin, SQL Server MVP. CTO, DBSophic LTD. - http://www.dbsophic.com/ --Performance is the most significant driver in maintaining data and service availability.--
כל התגובות
-
היי עופר,
לא סיפקת את מבנה טבלה ונתת רק פרטים כללים על הצורך ולכן לא נוכל לתת לך קוד משמעותי אבל הכיוון הכללי לדעתי יראה כך:
CREATE TRIGGER My_Trigger
ON Table1
FOR INSERT
AS
INSERT INTO Table2
SELECT *
FROM inserted
WHERE Tenant_ID = 1 AND State_ID IN(1,7)כמובן שתצטרך להוסיף Error Handling, אולי גם Logging וכולי.
שים לב ששיניתי את התנאי בדוגמא - AND לוגית מבוצע לפני OR והנחתי שאתה מחפש אחד משני הסטטוסים בלי קשר ל ID. אם הנחתי שגויה, תחזור לתחביר המקורי שלך.
לפרטים נוספים פנה ל Books On Line לפרק CREATE TRIGGER
HTH
Ami Levin, SQL Server MVP. CTO, DBSophic LTD. - http://www.dbsophic.com/ --Performance is the most significant driver in maintaining data and service availability.--
-