437
צפיות
צפיות
10
תשובות
תשובות
בשאילת INSERT האם ניתן לדעת את ID
יש לי טבלה אם שדה ID אוטומטי האם יש דרך לדעת את הID של אותו
רשומה שהוספתי אחשיו ללא שאילתה נוספת או לשרשר אייך שהוא שאילתה שגם תעדכן את הרשומה וגם תחזיר לי את ה ID
תודה רבה על צומת הלב
שביל עמית
10 תשובות
INSERT לא מחזיר רשומות!
ואם אני לא טועה משמשים ב:
SELECT @@IDENTITY
אבל זו שאילתת INSER
איפה אני אומר להוסיף את ה SELECT הזה
תודה
על התשובה המהירה
בשביל להשתמש בinsert…
אתה לא חייב לשים select
ואם אתה רוצה לקבל רשומות שים את הselect לפני הInsert
אתה שם את ה-SELECT הזה ישירות אחרי
ה-INSERT
אבל זה רק ב-MSSQL (אם אני לא טועה)
ואם אכן אתה עובד ב-TSQL יש משהו ב-TSQL שכתבתי לך בפלאשו
LOL
ה-TSQL הראשון=MSSQL
במטרה לפוקק
איך מחזירים את ה-ID האחרון שהוכנס?
הפתרונות הם רק ב-MSSQL:
1. שימוש ב-@@IDENTITI מקבלים את ה-ID האחרון שהוכנס למסד לא משנה מאיזה טווח(SCOPE) ולא משנה לאיזה טבלה
2. שימוש ב-IDENT_CURRENT מקבלים את ה-ID האחרון שהוכנס לטבלה ספציפית לא משנה מאיזה טווח(SCOPE)
SELECT IDENT_CURREMT('tableName')
3. שימוש ב-scope_Identity מקבלים את ה-ID האחרון שהוכנס לא משנה לאיזה טבלה אבל מטווח(SCOPE) מסויים — SP, טרייגר, פונקציה או BATCH
אי דיוקים
@@IDENTITY ולא @@IDENTITI… דבר שני זה עובד גם באקסס.
לא בדקתי את זה…
אבל כך פשוט היה כתוב ב-FAQ של פורום TAPUZ על כך שזה עובד רק ב-MSSQL
בכל מקרה אני הסתכלתי ב-BOOK ONLINE ולמדתי קצת על זה (קבצי עזרה נפלאים
בסוף זה לא פוקק }-)