none
מילוי מסד הנתונים RRS feed

  • שאלה

  • שלום, אני מתכנתת מתחילה ואני בונה מסד נתונים בצורה של עץ.

    המסד מכיל בתוכו טבלה של שאלות, טבלת תשובות וטבלה של ציונים(לא חישוביים- הסבר בהמשך).

    אני רוצה שהתכנית שלי תציג למשתמש שאלה ומספר תשובות- לפי התשובה שנענתה תבוא שאלה נוספת. (השאלה באה בעקבות התשובה הקודמת לה)

    לכל שאלה יש תשובה בן, לכל תשובה בן- יש שאלה אב.

    עד כאן אני מקווה שהסברתי את עצמי טוב.

    עכשיו, במסד הנתונים לכל שאלה-אב יש ID אוטומטי, כמובן, ואני רוצה שלתשובה-בן של אותה שאלה יהיה את אותו ID של השאלה ע"מ שאדע להציג את התשובות המתאימות לה.

    איך אני יודעת מה הID אם הוא אוטומטי? איך אני יודעת מה למלא בשדה של ה ID של התשובה?

    שאלה קצת דחופה- מקווה שתוכלו לעזור לי!

    תודה רבה.

    שבת 14 מרץ 2015 21:17

תשובות

כל התגובות

  • תקראי רגע את הלינק הבא שיעזור לך להבין איך לשלוף את ה identity

    http://blog.sqlauthority.com/2007/03/25/sql-server-identity-vs-scope_identity-vs-ident_current-retrieve-last-inserted-identity-of-record/

    • הוצע כתשובה על-ידי pituachMVP, Editor יום ראשון 15 מרץ 2015 19:33
    • סומן כתשובה על-ידי Eran Sharvit יום רביעי 18 מרץ 2015 11:33
    יום ראשון 15 מרץ 2015 07:32
  • בוקר טוב,

    הערך של ה 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')


    signature   Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]



    יום ראשון 15 מרץ 2015 11:11
    מנחה דיון