› פורומים › שימוש במערכת › שינוי/הוספת נתונים לשורה שעוד לא עודכנה בDB
- This topic has 4 תגובות, 2 משתתפים, and was last updated לפני 14 שנים, 8 חודשים by
אורן קפלן.
- Post
-
- פברואר 7, 2011 בשעה 7:38 pm
היי כולם,
בהמשך להערת השוליים של Lior בהודעה הזו – איך אני מוסיף או משנה נתונים בשורה שעוד לא עודכנה בבסיס הנתונים.באיזשהו שלב בתהליך, נניח בטריגר POST-FIELD של שדה מסויים, אני רוצה לזהות איזה תוכן הוכנס בשדה ובהתאם אליו להכניס נתון לשדה אחר, אבל לפני שמתבצע שינוי בבסיס הנתונים (כך שעדיין ניתן לבטל את השורה על ידי Ctrl+Z).
אני יודע מההערה של ליאור שלא ניתן להשתמש בSELECT – האם קריאה ל
:$.FIELDNAMEתעבוד תמיד?
תודה
אורן
- Replies
-
- פברואר 9, 2011 בשעה 7:55 pm
בהקשר לאותו פיתוח אבל בעייה שונה:כשאני מגיע לקוד הזה:
SELECT INTQUANT(SPIR_MEASUREMENTS.QUANT) INTO :IQUANT FROM
SPIR_MEASUREMENTS WHERE SPIR_MEASUREMENTS.MEASUREMENT =
(SELECT MAX(SPIR_MEASUREMENTS.MEASUREMENT) FROM SPIR_MEASUREMENTS);הוא זורק לי את השגיאה הבאה:
ואני לא יודע למה.
אתם יכולים לתת הערכה למה?
מצורף DUMP של מסך DOCUMENTS_A עם הטריגר שאני שיניתי ואלו שאני יודע שהוספו בפיתוח פרטי.
[file name=file-20110209.txt size=9356]https://www.priority-forums.com/he/images/fbfiles/files/file-20110209.txt[/file]
אני גם אשמח לקבל תשובה אם השורה האחרונה בטריגר שלי תעבוד או לא:
:$.XXXX_BRUTO = :IQUANT;תודה,
אורן
- פברואר 10, 2011 בשעה 11:26 am
לשאלה השניה – בוודאי שיעבודלעניין שגיאת ה SQL – תנסה לשים את ה MAX לתוך משתנה בשאילתה נפרדת ואח"כ להשתמש בו ב SELECT שמכניס לתוך IQUANT
- פברואר 10, 2011 בשעה 7:15 pm
אוקיי – אנסה, נראה מה יוצא מזה.כעקרון חשבתי גם ככה לנסות את זה אבל עדיין לא יצא לי היום.
תודה
- פברואר 11, 2011 בשעה 12:58 pm
עובד!!למי שעוקב/מעוניין להשתמש בקוד – שישים לב שהמשתנה
:DAT
משמש בטריגר של בדיקת מכשיר האב ולכן הקוד שפרסמתי יעלה אזהרה לגבי העובדה שהמחסן (הוכנס למשתנה השגיאה) הוא מכשיר לא פעיל…
🙂פשוט החלפתי משתנה אבל שיטה אחרת היא לאפס את המשתנים לאחר סיום השימוש בהם. (תכנות חכם בכל מקרה)
תודה לכל מי שייעץ לי בפיתוח הזה בינתיים.
אורן
- יש להתחבר למערכת על מנת להגיב.