בעיה עם מצביע tSql

gaiegos1

New member
בעיה עם מצביע tSql

אני משתמש במצביע Cursor כדי לשלוף נתונים מתוך טבלה אני משתמש בפונקציה של מצביע FETCH NEXT הבעיה שלי היא שהוא מציג את הרשומה האחרונה פעמיים מה עושים?
 

גרי רשף

New member
מה בדיוק הקוד שלך?

מן הסתם יש איזה פיספוס בסיום הלולאה. מעבר לכך- למה Cursor? לפי תורת הלחימה של ה-SQL ב-99% מהמקרים אין בזה צורך..
 

gaiegos1

New member
בחן את הקוד בקובץ המצורף

תמיד הוא מציג את הרשומה האחרונה פעמיים רק את הרשומה האחרונה איך אתה מציע ללא מצביע
 

GeForce 5

New member
מעיון זריז בקוד

נראה כי הלולאה שלך כתובה לא נכון. אתה בודק אם FETCH_STATUS@@ שווה ל-0 ואם כן נכנס לתנאי, ואז מבצע fetch נוסף, ולכן בפעם האחרונה אתה נשאר עם הרשומה הקודמת ביד, כי אין מה לשלוף עוד... בדרך כלל נהוג לבצע את ה-fetch בסוף. לא נכנסתי לעומק הקוד, אבל ייתכן ואין כלל צורך בcursor או לולאה, וניתן לבצע את הפעולה bulkית.
 

gaiegos1

New member
תודה

נפתרה הבעיה הכנסתי תנאי אחרי ה FETCH ובדקתי סטטוס כך לא קיבלתי רשומה נוספת. תודה וסוף סוף מצאתי פורום רציני שגם עונה על שאלות.
 
למעלה