שאלה בנוגע ל update/insert
שלום! על DB ה- ORACLE שלי (10.2g), אני מעוניין לכתוב פרוצדורה פשוטה, אשר יודעת לקרוא מרשימה ב UTL FILE, כאשר אם המופע (ע"פ האינדקס החד-חד ערכי) מופיע בטבלה שלי, אני רוצה לעדכן אותו ע"פ הפרטים בקובץ ה- UTL, ואם הוא לא נמצא כלל בטבלה, אני צריך להכניס אותו (כולל כל הפרטים כמובן). בכל מקרה, הפרוצדורה הזו אמורה לרוץ ב- JOB כל לילה, כאשר בקובץ הUTL יש כ- 4000 רשומות. אני צריך לעשות איזושהי הבדלה מתי להשתמש ב UPDATE, ומתי ב INSERT. לפי ההגיון שלי, אני צריך לעשות מעין "select count(value) from table where value=xxx" עבור כל רשומה ע"מ לדעת האם הנתון מופיע בטבלה ואני צריך לעדכן אותו, או שאינו מופיע בטבלה ויש להכניס אותו. אני לא חושב שזה כ"כ יעיל לעשות כל לילה כ- 4000 סלקטים על הטבלה... האם יש דרך טובה יותר לקבוע מתי להשתתמש ב UPDATE ומתי ב INSERT? והאם יש פקודה שיודעת לברור אוטומטית האם יש ערך בטבלה ולעדכן אותו, או שהוא לא נמצא וצריך להוסיף אותו? תודה מראש לעוזרים/פותרים/מכווינים!
שלום! על DB ה- ORACLE שלי (10.2g), אני מעוניין לכתוב פרוצדורה פשוטה, אשר יודעת לקרוא מרשימה ב UTL FILE, כאשר אם המופע (ע"פ האינדקס החד-חד ערכי) מופיע בטבלה שלי, אני רוצה לעדכן אותו ע"פ הפרטים בקובץ ה- UTL, ואם הוא לא נמצא כלל בטבלה, אני צריך להכניס אותו (כולל כל הפרטים כמובן). בכל מקרה, הפרוצדורה הזו אמורה לרוץ ב- JOB כל לילה, כאשר בקובץ הUTL יש כ- 4000 רשומות. אני צריך לעשות איזושהי הבדלה מתי להשתמש ב UPDATE, ומתי ב INSERT. לפי ההגיון שלי, אני צריך לעשות מעין "select count(value) from table where value=xxx" עבור כל רשומה ע"מ לדעת האם הנתון מופיע בטבלה ואני צריך לעדכן אותו, או שאינו מופיע בטבלה ויש להכניס אותו. אני לא חושב שזה כ"כ יעיל לעשות כל לילה כ- 4000 סלקטים על הטבלה... האם יש דרך טובה יותר לקבוע מתי להשתתמש ב UPDATE ומתי ב INSERT? והאם יש פקודה שיודעת לברור אוטומטית האם יש ערך בטבלה ולעדכן אותו, או שהוא לא נמצא וצריך להוסיף אותו? תודה מראש לעוזרים/פותרים/מכווינים!