› פורומים › אפיון ופיתוח פריוריטי › שימוש בUPDATE SET כשהתנאי מטבלה שונה
- This topic has 4 תגובות, 3 משתתפים, and was last updated לפני 4 שנים, 6 חודשים by yitzchok.
- Post
- Replies
-
- יוני 9, 2020 בשעה 7:24 pm
לדעתי כדאי לעשות בשני שלבים בשלב הראשון לשלוף את ה דגל של הלקוח מובלת הלקוחות למשתנה בצד.ואז לדלג על ה update או לחלופין להוסיף את ההתייחסות למשתנה הנ"ל בתנאי ה update.
הרבה הצלחה..
- יוני 9, 2020 בשעה 10:49 pm
בתנאים מסוימים (לא זוכר בדיוק מה, נראה לי שזה שיש מגבלות במורכבות של התת-שאילתא) ניתן להשתמש בתת-שאילתא כדי למקד את האוכלוסיה של העדכון. זה יכול להתאים במקרה הדוגמה (בהנחה שהכוונה לעדכן את כל אותם אנשי קשר לערך קבוע), כי תת-השאילתא יכול להחזיר מפתח לקוח שהוא מאפיין באיש קשר.אבל בפריוריטי אין סינטקס של UPDATE שכולל ממש חיתוך בין טבלאות, כך שניתן לעדכן בטבלה א' עם ערך שנמצא בטבלה ב', זה קיים בגרסאות חדשות יותר של SQL בלבד. וזה היה רלוונטי אם הייתם רוצים לשים באיש קשר ערך מתוך הלקוח שהוא קשור אליו.
אם אנחנו מדברים על עדכון אני חוזר ומזכיר שאין לעדכן ככה שדות סטנדרטיים (לא שאמרתם שלזה אתם מתכוונים)
[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- יוני 10, 2020 בשעה 12:08 pm
אנסה לפרט יותראני רוצה לשנות לכל הלקוחות ששמור להם פרטי אשראי במערכת את קוד התשלום ל5 (כרטיס אשראי לא מזוהה) (מסך "חשבון/כרטיס אשראי לחיוב" שהוא מסך בן של "הגדרות כספים ללקוחות")
חשבתי להריץ UPDATE חד פעמי מWINDBI כשהתנאי הוא לכל מי שהדגל "אישור משב"א" מסומן ב"Y" – שיעדכן את שדה קוד תנאי
הבעיה היא שהשדה קוד תנאי הוא מטבלת PAYMENTTYPE והדגל אישור משבא הוא בטבלת PAYMENTDEF
אשמח אם יש למישהו פתרון..
- יוני 10, 2020 בשעה 10:23 pm
כנראה "לזה" אתם כן מתכוונים.יש לי מחויבות מקצועית לחזור ולדגיש:
אין. לעדכן. שדות. סטנדרטיים. ב-UPDATE. (אלא אם כן אתם רוצים לבטל את חוזה השירות שלכם ואתם בטח לא, ואני לא יכול לעזור כאן בפעולות כאלה)
בשביל עדכון כזה יש ממשקים, או אם מדובר במשהו חד-פעמי ואפשר ע"י הדבקה מאקסל אז זה גם אופציה, אבל כאן אני לא רואה שרלוונטי בגלל שזה במסך בן.
(בהערת אגב אגיד שעכשיו שפירטת, ברור שמה שכתב babun רומז לפתרון. אילו היה מתאים לבצע עדכון ב-UPDATE זה יהיה די פשוט כי אתם רוצים לעדכן את כל השורות ברלוונטיות באותה צורה)
בסופו של דבר, אתם רוצים לעבור על לקוחות בהם במסך "חשבון/כרטיס אשראי לחיוב" יש Y ב-"אישור משב"א" , ולקבוע 5 בקוד תשלום באותו מסך?
הייתי תוקף את זה ככה (ואם יש משהו מוכן יותר אני מתנצל, אני לא מכיר):
תבנה ממשק מסך שטוען מקובץ עם FNCCUST ב-RECORDTYPE 1 ו-PAYMENTDEF ב- RECORDTYPE 2, בשורה של FNCCUST תקבע CUST (או CUSTNAME לדעתי שניהם אפשריים) בשורה של PAYMENTDEF תקבע PAYMENTCODE
אז תכין קובץ עם שורות רלוונטיות. או שאילתא פשוטה שמוציא את הלקוחות המסומנים ע"י חיתוך בין CUSTOMERS ו-PAYMENTDEF (כאשר TYPE שווה ה-EXTTYPE של CUSTOMERS) ותכין את הקובץ באקסל בו תיסוף LINE ו-RECORDTYPE וגם שורה אחרי כל שורה עם ה-PAYMENTCODE
או שאילתא יותר מורכב עם קורסור על בסיס אותו שאילתא, שיכתוב את כל הקובץ כמו שצריך בבת אחת
לצערי אין תמיד פתרון קל לעדכון גורף
[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
- יש להתחבר למערכת על מנת להגיב.