שלח תשובה

זירת השאלות

437
צפיות
10
תשובות

בשאילת INSERT האם ניתן לדעת את ID

,‏ 27 במאי, 2004

יש לי טבלה אם שדה ID אוטומטי האם יש דרך לדעת את הID של אותו
רשומה שהוספתי אחשיו ללא שאילתה נוספת או לשרשר אייך שהוא שאילתה שגם תעדכן את הרשומה וגם תחזיר לי את ה ID
תודה רבה על צומת הלב
שביל עמית

תגיות:

10 תשובות

  1. ניר טייב הגיב:

    INSERT לא מחזיר רשומות!
    ואם אני לא טועה משמשים ב:

    SELECT @@IDENTITY

  2. shvilam הגיב:

    אבל זו שאילתת INSER
    איפה אני אומר להוסיף את ה SELECT הזה
    תודה
    על התשובה המהירה

  3. בשביל להשתמש בinsert…
    אתה לא חייב לשים select
    ואם אתה רוצה לקבל רשומות שים את הselect לפני הInsert

  4. ניר טייב הגיב:

    אתה שם את ה-SELECT הזה ישירות אחרי
    ה-INSERT
    אבל זה רק ב-MSSQL (אם אני לא טועה)
    ואם אכן אתה עובד ב-TSQL יש משהו ב-TSQL שכתבתי לך בפלאשו

  5. ניר טייב הגיב:

    במטרה לפוקק
    איך מחזירים את ה-ID האחרון שהוכנס?
    הפתרונות הם רק ב-MSSQL:
    1. שימוש ב-@@IDENTITI מקבלים את ה-ID האחרון שהוכנס למסד לא משנה מאיזה טווח(SCOPE) ולא משנה לאיזה טבלה
    2. שימוש ב-IDENT_CURRENT מקבלים את ה-ID האחרון שהוכנס לטבלה ספציפית לא משנה מאיזה טווח(SCOPE)

    SELECT IDENT_CURREMT('tableName')

    3. שימוש ב-scope_Identity מקבלים את ה-ID האחרון שהוכנס לא משנה לאיזה טבלה אבל מטווח(SCOPE) מסויים — SP, טרייגר, פונקציה או BATCH

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

    אי דיוקים
    @@IDENTITY ולא @@IDENTITI… דבר שני זה עובד גם באקסס.

  7. ניר טייב הגיב:

    לא בדקתי את זה…
    אבל כך פשוט היה כתוב ב-FAQ של פורום TAPUZ על כך שזה עובד רק ב-MSSQL
    בכל מקרה אני הסתכלתי ב-BOOK ONLINE ולמדתי קצת על זה (קבצי עזרה נפלאים

שלח תשובה