PDA

View Full Version : سوال: خواندن سطر به سطر یک table



bahramsport
سه شنبه 27 بهمن 1388, 06:57 صبح
یک table داریم که هیچ آیتم شمارنده ای در آن وجود ندارد حال میخواهیم آن را به صورت سطر به سطر بخوانیم و یک عملیات روی مقدار هر سطر انجام دهیم آیا روشی برای این کار وجود دارد ؟

حمیدرضاصادقیان
سه شنبه 27 بهمن 1388, 07:38 صبح
سلام.شما با روشهای گوناگونی میتوانید اینکارو انجام بدین. یکی استفاده از Cursor در خود کوئری تون هست. یکی اینکه کل اطلاعات رو در یک دیتاست لود کنید و در رویداد Afterscroll اینکارو انجام بدین.
موفق باشید.

محمد سلیم آبادی
چهارشنبه 28 بهمن 1388, 00:52 صبح
یک table داریم که هیچ آیتم شمارنده ای در آن وجود ندارد حال میخواهیم آن را به صورت سطر به سطر بخوانیم و یک عملیات روی مقدار هر سطر انجام دهیم آیا روشی برای این کار وجود دارد ؟

اگر از Cursor نمی خواهین استفاده کنین بیایین از تابع IDENTITY INTO و یک LOOP برای پردازش سطر به سطر (Row by row processing) استفاده کنین.

saeidcd
چهارشنبه 28 بهمن 1388, 18:18 عصر
اگر از Cursor نمی خواهین استفاده کنین بیایین از تابع IDENTITY INTO و یک LOOP برای پردازش سطر به سطر (Row by row processing) استفاده کنین.

میشه بیشتر توضیح بدین با یه مثال

محمد سلیم آبادی
چهارشنبه 28 بهمن 1388, 18:47 عصر
ابتدا به هر سطر از جدول یک id با کمک تابع IDENTITY INTO می دهیم. سپس داخل یک حلقه از اندیس با شماره 1 آغاز می کنیم و تا زمانی که i (شمارنده) کوچکتر از تعداد سطر ها بود حلقه ادامه پیدا می کنم. و در هر بار اجرا سطری انتخاب میشود که با i برابر باشد.

مثال:
DECLARE @i INT
SET @i = 1

SELECT *, ID = IDENTITY (INT, 1, 1)
INTO #temp_table
FROM Table

WHILE @i <= SELECT COUNT(*) FROM Table
BEGIN
SELECT * FROM #temp_table WHERE ID = @i
SET @i =@i +1
END