PDA

View Full Version : انجام تغییرات بر روی 200 رکورد



hsadeh
شنبه 26 آبان 1386, 07:13 صبح
سلام - فرض کنید 200 نفر کارمند داریم . میخواهیم با فشار دادن یک کلید یک سری عملیات بر روی آیتمهای حقوق این افراد انجام شود . بدین ترتیب که از کارمند اول تا آخرین کارمند تغییرات انجام شود البته میخواهیم که اطلاعات قبلی را از دست ندهیم . من یک سری کد نوشتم ولی فقط برای نفر اول به تعداد 200 رکورد کار می کند . راه حل چیست ؟
با تشکر

ir_programmer
شنبه 26 آبان 1386, 07:28 صبح
سوالتان گویا نیست!
شما 2 بحث رو مطرح کردین.
یکی اعمال تغییرات دسته جمعی که می توانید از طریق کد SQL و Store Procedure انجام دهید.
اما بحث نگهداری اطلاعات پیشین مجزا زا این بحث است و روش های متعددی دارد.

hsadeh
شنبه 26 آبان 1386, 07:33 صبح
شما بحث دوم را در نظر نگیرید . بحث اول را چگونه حل کنیم ؟

ir_programmer
شنبه 26 آبان 1386, 08:04 صبح
Update table1 set Field1=200
where Field2 like '%Alavi%'

ir_programmer
شنبه 26 آبان 1386, 09:13 صبح
طوری که توضیح دادی این کدشه:
البته پارامتر دوم و سوم رو نمی دونستم جاش علامت ؟ گذاشتم.
بعضی وقتها حلقه در SQL بدرد میخوره :




DECLARE cur1 CURSOR

FOR
SELECT yy3,p_cood
FROM payh
OPEN cur1

DECLARE @yy3,@p_cood

FETCH NEXT FROM cur1 INTO @yy3,@p_cood

WHILE (@@FETCH_STATUS <> -1)
BEGIN
Insert into payh(yy3,p_cood,m,tik) values (@yy3,@p_cood,?,?)

FETCH NEXT FROM cur1 INTO @yy3,@p_cood

END
CLOSE cur1
DEALLOCATE cur1