שלח תשובה

זירת השאלות

1 תשובות

  1. אוריקס הגיב:

    IDENTITY@@ עובד מצויין גם בלי טרנזאקציה, הבעייה היא שהוא לא תמיד יעבוד כמו שאתה רוצה שהוא יעבוד. IDENTITY@@ יחזיר לך את המספור האוטומטי האחרון שהוכנס לטבלה. נכון שהכל עניין של מילישניות, אבל ברגעי עומס יכול להיות שמישהו אחר הכניס נתונים ל DB שבריר שנייה אחריך ואתה תקבל IDENTITY@@ אחר ממה שציפית.

    ב MSSQL פתרו את זה מצויין עם ()SCOPE_IDENTITY שמחזירה את ה IDENTITY האחרון שהוכנס באותו scope, כלומר אותו "גולש" – ככה שהבעייה שתוארה קודם לא קיימת.

    יש גם (‘IDENT_CURRENT(‘TblName שמחזירה את ה IDENTITY האחרון באותה טבלה, בלי קשר ל scope.

שלח תשובה