ورود

View Full Version : نحوه خروجی گرفتن از stored procedure



Apache66
شنبه 12 دی 1394, 19:14 عصر
سلام دوستان
من یک stored procedure نوشتم چند تا پارامتر داره و بر اساس این پارامترها از چند جدول مختلف select میگیرم
حالا نتایج هر select رو میخوام بریزم توی یک متغییر و به صورت یکجا نمایش بده(در واقع در نرم افزار خودم(C#) استفاده کنم)
برای این کار اومدم یک جدول مجازی تعریف کردم و متغییر ها ریختم توی جدول و آخر کار از این جدول select گرفتم اما هیچ چیزی نشون نمیده
مشکل کار من کجاست؟



alter PROCEDURE RMCount

@count int,
@p1 int,
@p2,
@p3




AS
BEGIN

DECLARE @TRM TABLE(
[NUM]nvarchar(100) NOT NULL,
[Name]nvarchar(100) NOT NULL,
[Family]nvarchar(100) NOT NULL,
[father]nvarchar(100) NOT NULL,
);


Declare @Num nvarchar(100)
Declare @Name nvarchar(100)
Declare @Family nvarchar(100)
Declare @father nvarchar(100)



select @Num=Num from t1 where id>5
select @Name=name from t2 where id>5
select @Family=Family from t2 where id>5
select @father= from t2 where id>5





INSERT INTO @TRM([NUM],[name],family],[father]
Select @Num,@Name,@Famliy,@father

maryam878
یک شنبه 13 دی 1394, 09:12 صبح
سلام دوست عزیز
خب شما بقیه sp ای که نوشتی رو نذاشتی!
در ادامه اگه یه select از TRM@ بگیری میتونی خروجی رو داشته باشی.
نمیدونم منظورتون همین بود؟؟!!

حمیدرضاصادقیان
یک شنبه 13 دی 1394, 13:06 عصر
سلام
این نحوه کد نوشتن مشکل داره. کد شما به راحتی مستعد خطاست. چون ممکنه Select شما بیش از یک مقدار رو برگردونه. اونوقت شما با خطا دچار خواهید شد. همچنین یعنی همیشه میخواهید یک ردیف رو برگردونید؟

Apache66
یک شنبه 13 دی 1394, 22:57 عصر
سلام
این نحوه کد نوشتن مشکل داره. کد شما به راحتی مستعد خطاست. چون ممکنه Select شما بیش از یک مقدار رو برگردونه. اونوقت شما با خطا دچار خواهید شد. همچنین یعنی همیشه میخواهید یک ردیف رو برگردونید؟

با سلام
البته اون select مثال بود ولی در کل select طوری نوشتم که یک مقدار را برمیگرداند و میخواهم در جدولی insert شود

حمیدرضاصادقیان
پنج شنبه 17 دی 1394, 13:48 عصر
خوب همونطور که در پست 2 بهش اشاره شد کافیه ا زجدول Temp یک Select بگیرید.
ولی من جای شما باشم با توجه به پارامترهای مختلف ورودی یک Select نوشته و همونو برمیگردونم. دیگه از چندتا Select و ریختن داخل یک متغیر Temp استفاده نمیکنم.