PDA

View Full Version : سوال: دسترسی به رکوردهای یک select در داخل SP ؟



Modifier
پنج شنبه 08 مهر 1389, 16:11 عصر
سلام

من توی یک storeprocedure همزمان 2 دستور select نوشته ام که در آن واحد یکی از انها اجرا میشود ..
میخواهم در داخل همان storeprocedure به record های واکشی شده این select دسترسی داشته باشم...

چگونه این کار رو میتوان کرد ؟

(امکان استفاده از table مجازی یا select into وجود ندارد)

ممنون.
یاعلی.

Sk1900n3
پنج شنبه 08 مهر 1389, 16:24 عصر
دوست عزیز منظورتو خوب نفهمیدم
اگه تونستی کدشو واسم بزار

ولی اگه میخوای به رکوردهای یک Select دسترسی داشته باشی از Cursor استفاده کن


DECLARE Cur_Info CURSOR FOR
Select id,nm
From tb1
-- ========
OPEN Cur_Info;
FETCH NEXT FROM Cur_Info into @id,@nm;
WHILE @@FETCH_STATUS = 0
BEGIN

مقادیر در دو متغیر @id,@nm قرار میگیره

FETCH NEXT FROM Cur_Info into @id,@nm;
END
CLOSE Cur_Info;
DEALLOCATE Cur_Info;

Modifier
پنج شنبه 08 مهر 1389, 16:43 عصر
if a> 1
select field1 from tbl1
else
select field1 from tbl2

حال می خواهیم با استفاده از یک کرسر اطلاعات فیلد 1 را بخوانیم...
مشکل اینجاست که نمی دانم کرسر را چگونه برای این مورد بنویسم...

Sk1900n3
پنج شنبه 08 مهر 1389, 18:06 عصر
سلام دوست عزیز


Create proc prn
@sender int
As
declare @idTemp int

if(@sender>1)
DECLARE Cur_Info CURSOR FOR
select id1 As IdColumn from t1
else
DECLARE Cur_Info CURSOR FOR
select id2 As IdColumn from t2
-- ========
OPEN Cur_Info;
FETCH NEXT FROM Cur_Info into @idTemp
WHILE @@FETCH_STATUS = 0
BEGIN

FETCH NEXT FROM Cur_Info into @idTemp
END
CLOSE Cur_Info;
DEALLOCATE Cur_Info

جواب میده

AminSobati
جمعه 09 مهر 1389, 12:12 عصر
سلام

من توی یک storeprocedure همزمان 2 دستور select نوشته ام که در آن واحد یکی از انها اجرا میشود ..
میخواهم در داخل همان storeprocedure به record های واکشی شده این select دسترسی داشته باشم...

چگونه این کار رو میتوان کرد ؟

(امکان استفاده از table مجازی یا select into وجود ندارد)

ممنون.
یاعلی.

سلام دوست عزیزم،
نمیدونم این محدودیت که در مورد استفاده از جدول مجازی عنوان کردین، منظور جداولی هست که با علامت # شروع میشن؟ یا استفاده از Table Variable هم محدوده؟

ضمنا چون توضیح ندادین دقیقا به چه شکل میخواین از حاصل کوئری استفاه کنین، راهنمایی کمی سخته. بهتره بیشتر توضیح بدین