האם אפשר לעשות UPDATE לJOIN TABLES?

kity02

New member
האם אפשר לעשות UPDATE לJOIN TABLES?

יש לי שתי טבלאות, שאני רוצה שהמידע שבהן יהיה מקושר: PERSON וCHILD, כשהPK הוא בPERSON והFK בCHILD. אם אני רוצה להציג, אני עושה:
Select * From Persons P, Children C Where P.PersonId=C.PersonId​
השאלה שלי: \איך אני עושה UPDATE ליותר מעמודה אחת, כאשר כל עמודה מופיעה בטבלה אחרת משתי הטבלאות? האם ניתן לעשות UPDATE לVIEW.?
 

itaym02

New member
תצרי viewעל שתי טבלאות ותראי מה קורה, אני מכי

מכיר בעיקר את mysql.
 
ישנם מס' אפשרויות

לSQL Server יש סינטקס שבאמצעותו ניתן להשתמש בfrom clause במשפט update ולבצע join בין מספר טבלאות. בכל מקרה גם כאשר עושים update ומשתמשים במספר טבלאות, ניתן לבצע עדכון רק על טבלה אחד. שאר הטבלאות יכולות להיות מקור לערך החדש או דרך להגדרת הרשומות, שיעודכנו. ניתן לראות פרטים בBOL תחת הערך UPDATE. לגבי ההצעה ליצור view - ניתן לעשות view ממספר טבלאות ולהריץ פקודת update על הview, אבל גם כאן יש מספר מגבלות. אחת המגבלות היא שבמשפט הupdate שפונה לview, שמורכב ממספר טבלאות, תעודכן טבלה אחת בלבד (אלה עם כן מדובר בpartitioned view, אבל זה לא רלוונטי למקרה שלך). במקרה שלך, את יכולה ליצור view ולכתוב 2 משפטי update, שכל אחד יעדכן טבלה אחרת. פרטים אפשר לראות בBOL תחת הערך create view. פתרון נוסף הוא לבנות את הview וליצור לו instead of trigger. פרטים על instead of trigger אפשר לראות בBOL תחת הערכים CREATE TRIGGER וDesigning INSTEAD OF Triggers.
 
למעלה