שאלה

DarkVera

New member
שאלה

למה הוא מעדכן לי את כל השורות במקום שורה אחת
update accounts
set addr =
(select accounts_dail.addr
from accounts,accounts_dail
where accounts.name = accounts_dail.name
and
accounts.account_id = accounts_dail.account_id
and
accounts_dail.addr != accounts.addr
)​
הוא מעדכן לי את כל השורות בערך שהוא מעדכן בשורה המתאימה
 

גרי רשף

New member
אין תנאי לפקודת ה-Update

יש תנאי לביטוי בתוך הסוגריים שמחשב את הערך ש-addr מקבל, אך לא לפקודת העדכון עצמה.
יש להבדיל בין הפנייה לטבלה Accounts בפקודת ה-Update שעליה אין תנאי,
לבין הפנייה בתוך הסוגריים שעליה יש תנאי.
כמו כן אין קשר בין הפנייה החיצונית לפנימית ולכן כל השורות יתעדכנו לאותו הערך.
 

DarkVera

New member
עזרה

אני צריך אבל לעדכן בהתאם לטבלה נוספת שיש לי. אני צריך לבדוק בטבלה השניה האם הפרטים שונו או זהים לטבלה הראשונה ואם יש שורה שונה אז לעדכן
 
למעלה