משיב מוביל
מילוי מסד הנתונים

שאלה
-
שלום, אני מתכנתת מתחילה ואני בונה מסד נתונים בצורה של עץ.
המסד מכיל בתוכו טבלה של שאלות, טבלת תשובות וטבלה של ציונים(לא חישוביים- הסבר בהמשך).
אני רוצה שהתכנית שלי תציג למשתמש שאלה ומספר תשובות- לפי התשובה שנענתה תבוא שאלה נוספת. (השאלה באה בעקבות התשובה הקודמת לה)
לכל שאלה יש תשובה בן, לכל תשובה בן- יש שאלה אב.
עד כאן אני מקווה שהסברתי את עצמי טוב.
עכשיו, במסד הנתונים לכל שאלה-אב יש ID אוטומטי, כמובן, ואני רוצה שלתשובה-בן של אותה שאלה יהיה את אותו ID של השאלה ע"מ שאדע להציג את התשובות המתאימות לה.
איך אני יודעת מה הID אם הוא אוטומטי? איך אני יודעת מה למלא בשדה של ה ID של התשובה?
שאלה קצת דחופה- מקווה שתוכלו לעזור לי!
תודה רבה.
תשובות
-
תקראי רגע את הלינק הבא שיעזור לך להבין איך לשלוף את ה identity
- הוצע כתשובה על-ידי pituachMVP, Moderator יום ראשון 15 מרץ 2015 19:33
- סומן כתשובה על-ידי Eran Sharvit יום רביעי 18 מרץ 2015 11:33
כל התגובות
-
תקראי רגע את הלינק הבא שיעזור לך להבין איך לשלוף את ה identity
- הוצע כתשובה על-ידי pituachMVP, Moderator יום ראשון 15 מרץ 2015 19:33
- סומן כתשובה על-ידי Eran Sharvit יום רביעי 18 מרץ 2015 11:33
-
בוקר טוב,
הערך של ה IDENTITY נקבע אוטומטית ונכנס לטבלה בזמן הכנסת הנתון החדש. לכן אפשר לקבל אותו רק אחרי שהנתון החדש נוצר. את יכולה לקבל אותו על ידי חיפוש פשוט SELECT או בזמן ההכנסה של הרשומה לטבלה בעזרת OUTPUT
השיטות במאמר שקישר tetitu מעולות, אבל בדרך אינן מתאימות תמידד למשל במקרים של פעולה ראשונה של הכנסת נתון חדש, הרבה יותר נכון לפעמים לעבוד עם OUTPUT שמשום מה לא מוזכר במאמר. יותר מכך מה קורה אם מכניסים יותר מנתון אחר?!? OUTPUT מאפשר לעבוד עם מספר נתנים גם כן. הכוונה לקבל את ה IDENTITY תוך כדי שאילתת ה INSERT.
לדוגמה:
create table T (id int identity , t nvarchar(10)) insert T (t) output inserted.id -- this return the curent ID select 'd'
או
insert T (t) output inserted.id -- this return the curent ID values ('d'),('fdsfg'),('dsg')
Ronen Ariely
[Personal Site] [Blog] [Facebook]
- נערך על-ידי pituachMVP, Moderator יום ראשון 15 מרץ 2015 11:17