חישובי מלאי

יום שבת, מרץ 3, 2012

ההכרזה הקרובה על SQL Server 2012 היא הזדמנות לבחון את כוחן של פונקציות החלון החדשות בחישובי מלאי. מהם חישובי מלאי? מערכת מלאי אוספת מידע על פריטים שונים- כמה נכנס למחסן, כמה יצא; וכפועל יוצא של זה- כמה יש. כניסות למחסן יכולות להיות סחורה חדשה שנקנתה, מוצרים שהושלמו ונכנסו למחסן תוצרת גמורה, סחורה שחזרה מהלקוח ועוד. יציאות מהמחסן יכולות להיות סחורה שנשלחה ללקוח, חומרי גלם שהוחזרו לספק, אובדן, גניבה ועוד. מערכת מלאי אמיתי אמורה לכלול קודים לגבי כל אחת מהתנועות האלו, אבל אנחנו נסתפק ב-1 (כניסה) ו-2 (יציאה). ...
אין תגובות

הודעות שגיאה: השימוש ב-RaisError וב-Throw

יום חמישי, ינואר 13, 2011

הקדמה: לקבל הודעות שגיאה לא מסובך, והמערכת "מפנקת" אותנו בכאלו על ימין ועל שמאל: בעיות בחומרה, בעיות בתוכנה, באגים של מיקרוסופט, באגים שלנו, שימוש שגוי על ידי המשתמשים.. השימוש ב-RaisError והחל מהגרסה הבאה - גם ב-Throw - מאפשר למתכנת ה-SQL ליזום הודעות שגיאה בעצמו. במה דברים אמורים? נניח שבנינו טבלה, הגדרנו לה מפתח ראשי, וכעת אם מישהו מנסה להכניס בכל דרך שהיא מפתח קיים לטבלה- הוא מקבל הודעת שגיאה. באופן דומה ניתן להגדיר Rules ו-Constraints מסוגים שונים לשמירה על איכות הנתונים ברמת הטבלה. לעיתים נרצה להגן על הנתונים באופן פרואקטיבי ולבדוק אותם לפני הכנסתם לטבלה, כדי...
אין תגובות

With Result Sets: פרדיקאט חדש ב-Denali

יום רביעי, דצמבר 1, 2010

מהגרסה הבאה נוכל לעצב את ה-Result Sets המוחזרים על ידי הפרוצדורות בעזרת פקודה מתאימה! (סימן הקריאה נכתב בציניות כי ההתרשמות שלי היא פיהוק אחד גדול) ניקח פרוצדורה פשוטה לדוגמה: Exec sp_databases With Result Sets(( Varchar(Max) Not Null, Int Not Null, Varchar(Max) Null)); זה הסינטקס והפלט עם...
אין תגובות

מגבלות ה-Sequence ופריצתן

יום חמישי, נובמבר 25, 2010

כמה ימים לאחר שפירסמתי את הפוסט שלי לגבי Sequence - מספור אוטומטי משותף, פרסם איציק בן-גן פוסט באותו נושא, ומה לעשות- חוץ מזה שהוא תותח מבחינה טכנית, הוא מבין את הפילוסופיה של ה-SQL לעומק - והבנה כזו לא פוגשים הרבה; ואני מתייחס כאן בעיקר לכך שהוא הראה ששליפה כפולה מ-Sequence בסגנון של Select Next Value For MySeq ID1, Next Value For MySeq ID2; תחזיר אותו מספר פעמיים ולא שני מספרים עוקבים, והסיבה אינה "ככה זה" או צידוק...
אין תגובות

הצגת "דפים" מתוך טבלה – מחידושי Denali

יום שני, נובמבר 22, 2010

בימי SQL Server 2000 העליזים, כשהיינו צריכים להציג את שורות מספר 21-30 (למשל) מתוך הטבלה (בדרך כלל עבור אתרי אינטרנט בהם מציגים מסך של תוצאות וניתן לעבור למסך הקודם או הבא על ידי Prev ו-Next בהתאמה)- היינו שולפים את 30 השורות הראשונות, ממיינים הפוך ושולפים את 10 הראשונות (ליתר דיוק- 10 האחרונות מתוך ה-30), וזו השליפה המבוקשת: Select Top 10 nameFrom (Select Top 30 name From sys.objects Order By name) TOrder By name Desc;Go עשיתי לעצמי כאן...
אין תגובות