יעול פקודות Update

יום שלישי, אפריל 24, 2012

יש לנו טבלה בה יש לעדכן עמודה לפי לוגיקה מסויימת. למשל- לקצר מחרוזת ל-80 תווים: Update MyTbl Set MyFld=Left(MyFld,80); טיוב נתונים! מה משנה אם המחרוזת ארוכה מ-80 תווים או לא? מה שבטוח בטוח: נעדכן את כולם, אם לא יועיל- בוודאי שלא יזיק.. אז זהו שכן- פעולת עדכון מיותרת אולי אינה פוגעת באיכות הנתונים, אבל מבזבזת משאבים ללא צורך. להדגמה ניצור טבלה מתאימה: If Object_ID('Tbl','U') Is Not Null Drop Table Tbl; Go ...
תגיות: , , ,
2 תגובות

האם ניתן לעדכן אותה שורה מספר פעמים בפקודה אחת?

יום שלישי, פברואר 21, 2012

הנה מקור לטעויות: מנסים לעדכן טבלה אחת על פי השניה, בשעה שלכל שורה בראשונה יש מספר שורות מתאימות בשניה. עוד לפני שנראה מה קורה- ברור שלא זה הדרך: בין אם הפקודה תעבוד ובין אם לא- כיצד נדע איך הטבלה הראשונה תתעדכן? לאחר שנראה מה קורה נבין שכל שורה תתעדכן פעם אחת באופן אקראי, וכך לא עובדים. דוגמה: Use tempdb; Go   If Object_Id('MyTbl1','U') Is Not Null Drop Table MyTbl1; ...
תגיות: , , ,
אין תגובות

עדכון עמודות בדירוג

יום חמישי, פברואר 3, 2011

נסתכל בסקריפט הבא: Create Table #Tbl(A Int, B Int); Go   Insert Into #Tbl Values(2,5); Go   Update #Tbl Set A=10, B=A*B; Go   Select * From #Tbl; ...
תגיות: , , ,
אין תגובות