PDA

View Full Version : چگونگی دریافت مقادیر برگردانده شده توسط Select



snbb000
دوشنبه 27 آبان 1392, 09:49 صبح
سلام
دوستان من یک استور پروسیجر نوشتم میخوام همه ی رکورد هایی رو که برگردانده میشه رو بریزم توی یک متغییر چطور باید این کارو بکنم ؟

مثلا فرض کنید نوشتم select name from tbname حالا این همه ی اسم هارو برمیگردونه میخوام همه رو بریزم توی یک متغییر و استفاده کنم
مثلا وقتی مینویسم select VAR = name from tbname وقتی استفاده میکنم توی برنامه(vb.net) فقط آخرین رکورد رو نشون میده مخوام همه رکورد هارو نشون بده
ممنون میشم راهنمایی کنید

محمد سلیم آبادی
دوشنبه 27 آبان 1392, 10:22 صبح
متغیری که مدنظر هست از نوع تک مقداری است دیگر درسته؟
خب چطور انتظار دارید این چنین متغیری چندین مقدار را همزمان در خود ذخیره داشته باشد؟

نمی دانم آیا با مفهوم متغیر های جدولی آشنا هستید یا خیر به هر حال شما توسط syntax زیر میتوانید نتیجه ای که بعد از اجرای یک پروسیجر تولید می شود را داخل یک متغیر از نوع جدولی بریزید به این شکل:


INSERT INTO table_name EXEC stored_procedure_name

snbb000
دوشنبه 27 آبان 1392, 17:01 عصر
ممنون میشه بگید من چطوری باید بنویسم ؟ چون متوجه نشدم

golnaz_a
دوشنبه 27 آبان 1392, 22:28 عصر
(Declare @Value nvarchar(max
SET @Value=''
Select @Value= @Value+','+name from tbname

به این صورت میشه یه ستون از جدول رو ریخت توی یه متغیر.اگر ستون تون از نوع nvarchar نیست باید این طوری cast کنید

select @Value= @Value+','+cast(name as nvarchar) from tbname

محمد سلیم آبادی
دوشنبه 27 آبان 1392, 22:42 عصر
من دقیق متوجه نیازتون نمیشم. اگر میخواهید داده ها رو در سمت vb پردازش کنید که خب باید مثلا با ابزارهای ADO اینکار را انجام بدین.
اگر میخواهید داده ها به هم بچسب و الحاق بشن که در پست قبلی روش انجام این کار آورده شده است.