PDA

View Full Version : ایجاد تعداد زیادی رکورد یکجا



als_1360
جمعه 20 آذر 1388, 13:12 عصر
سلام
برای اضافه کردن تعدادی ستون و تعدادی رکورد در یک دستور اینسرت مقادیر را به صورت یک رشته به پارامتر می فرستیم و سپس آن را تجزیه می کنیم به چند رکورد.
تا اینجا مشکلی ندارم ولی پس از این کار چه طور می تونم رکوردهای به دست اومده رو به جدول اضافه کنم .

سوال به شکل دیگه :
من یه کوئری از یک جدول می گیرم و با تعدادی فیلد با مقدار ثابت در یک گرید نشون می دم به صورت زیر :

select ID,'12:20','false',UserName FROM Tabe1
که خروجی اون 20 تا رکورد هست.
سپس تغییراتی رو تو گرید روی آن اعمال می کنم مثلاً در بعضی از رکوردها مقدار False رو true تغییر می دم یا 12:20 رو به 13:10 تغییر می دم .
سوالا اینجاست که چه طور می تونم رکوردهای به دست اومده رو توی یه جدول دیگه به غیر از Tabe1 اضافه کنم (یعنی نمی خوام توی Tabe1 تغییر ایجاد کنم )
در ضمن می خوام تا حد امکان از حلقه ها صرف نظر کنم و در صورت امکان از SP ها استفاده کنم
مثلاً ارسال datatable به عنوان پارامتر به Sp
کد برنامه با C#‎ است .
متشکرم

AminSobati
شنبه 21 آذر 1388, 10:08 صبح
سلام دوست عزیزم،
اگر از SQL Server 2008 استفاده میکنید، Table Valued Parameter راه حل شماست. در این حالت میتونین کل DataTable رو یکجا بعنوان پارامتر به SP ارسال کنید.

als_1360
شنبه 21 آذر 1388, 11:42 صبح
ممنون از راهنماییتون
فقط توی 2008 این امکان هست ؟

AminSobati
شنبه 21 آذر 1388, 14:25 عصر
بله، برای نسخه های پایین تر از راهنمایی های این مقاله استفاده کنید:

http://www.sommarskog.se/arrays-in-sql.html