כתבת הרבה על הסיבה לבצע את העדכון אבל זה פחות רלוונטי לנו.
בעיקר אנחנו צריכים לשמוע האילו עמודות מדובר. הרי את כותבת "לעדכן שדה מטבלה 1 לטבלה 2".
אבל במה שכתבת (שנראה כמו 2 פקודות בעקבות ה ; שיש) יש רק טבלה אחת. ואני לא מבין למה את משווה TOTQUANT למחרוזת/תו מסוג CHAR.
בכל מקרה חשוב להתחיל עם משהו עקרוני: בפריוריטי אי אפשר בבת אחת לבצע עדכון מטבלה אחת לשניה. ב-SQL Server ובאורקל (עליהן יושבות מערכות הפריוריטי שלנו) זה אפשרי, אבל בסינטקס של פריוריטי לא נותן לנו מענה.
יוצא שצריכים קודם לחשב את הערך הנדרש על בסיס מה שיש בטבלה 2, ואז לבצע את העדכון בטבלה 1. ברגע שזה לא מוגבל לרשומה אחת בטבלה 1 באותו רגע יכול להיות שנדרש קורסור אבל לפי המקרה יכול להיות אפשר לצמצם את מספר האיטרציות שעושים בקורסור.
לדוגמה (זה פשוט for the record ולא בהכרח רלוונטי כאן) אם בטבלה 1 רוצים בכל רשומה אחת מ-3 ערכים לפי מה שיש בטבלה 2, אפשר להסתדר עם 3 פקודות UPDATE, כל אחת תעדכן את כל הרשומות שצריכות אחת מהערכים האלה. לא צריכים לעבור אחת אחת על הרשומות בטבלה 1 ולהחליט בכל אחת איזה ערך נדרש, שזה תהליך הרבה הרבה פחות יעיל.
אני מקווה שתשובה זאת תקדם אותך קצת. את יהיו עוד שאלות בבקשה תארי קצת את הטבלאות ולפי זה נכוון.