View Full Version : تک تک رکوردهای یک پرس و جو از یک جدول را بخوانم
rahele_sa
دوشنبه 30 بهمن 1385, 10:26 صبح
سلام
من یک Query دارم که چند تا رکورد بر می گردونه حالا چه جوری می توانم تک تک مقدار رکورد ها را بخوانم بعد برم به رکورد بعدی .
فکر کنم با Cursor ها بشه ولی بلد نیستم
ممنون میشم اگه کسی یک تکه کدی برام بزاره .
zerobit-ltd
دوشنبه 30 بهمن 1385, 10:48 صبح
declare My_Cursor cursor fast_forward
for select Field1
from Table1
declare @Field [data type]
شما اول یه کرسر تعریف می کنید و می گید از چه فیلدهایی از چه جدولی ایجاد بشه. به تعداد فیلدهای مورد نظرتون هم باید متغیر از همون نوع تعریف کنید تا مقادیری رو که از کرسر می خونید رو تو اون متغیرها قرار بدید.
open My_Cursor
بعد کرسر رو باز می کنید.
fetch next from My_Cursor
into @Field
بعد به اولین ردیف کرسر fetch می کنید. نتایج fetch رو باید تو متغیر بریزید. تعداد متغیرهای جلوی into، باید به تعداد ستون های کرسر باشه.
while @@fetch_status = 0
begin
fetch next from My_Cursor
into @Field
end
بعد با یه حلقه، کل کرسر رو تا آخر پیمایش می کنیم. fetch_status@@ یه متغیر عمومیه و تا وقتی که 0 باشه، یعنی هنوز به انتهای کرسر نرسیدیم.
close My_Cursor
deallocate My_Cursor
آخر سر هم کرسر رو می بندیم و فضای تخصیص داده شده به اون رو پس می گیریم.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.