PDA

View Full Version : اجرای یک استوردپراسیجر در یک UDF



MajerajooyeKhallagh
یک شنبه 20 خرداد 1386, 13:34 عصر
سلام دوستان عزیز
من میخوام توی SQL2005از طریق یک Table valued user Defined Functionیک استوردپراسیجر را اجرا کنم و خروجی استوردپراسیجر را توی یک Table از نوع متغیر بریزم و جدول را به عنوان خروجی UDFبرگردونم ولی این کار با خطا مواجه میشه,حالا سوالم اینه که اصلا میشه توی یه UDF یه SP را EXEC کرد؟اگر امکانش هست,لطفا راهنماییم کنید.

AminSobati
یک شنبه 20 خرداد 1386, 23:45 عصر
دوست عزیزم در Function نمیتونین SP صدا بزنین. من پیشنهاد میکنم همون کدی که داخل SP نوشتین رو در Function به کار ببرین

MajerajooyeKhallagh
دوشنبه 21 خرداد 1386, 08:18 صبح
بسیار سپاسگزارم از راهنماییتون ولی آقای ثباتی عزیز,امتحان کردم و دیدم که اگر استوردپراسیجر را به صورت عادی در فانکشن اجرا کنم,مشکلی پیش نمیاد ولی اگر بخوام خروجی آن را در یک متغیر از نوع Table بریزم و Table را به عنوان خروجی برگردونم,با خطا مواجه میشود,احتمالا Insert Into نمیتوان کرد به هر حال ممنون از راهنماییتون.

AminSobati
دوشنبه 21 خرداد 1386, 10:54 صبح
تعجب میکنم به چه شکلی SP رو داخل تابع صدا میزنین! دقت کنید که تابع در این حالت ساخته میشه اما اجرا نمیشه:


create proc sp1
as
select customerid from customers
go

create function fn1()
returns int
as
begin
exec sp1
return 1
end
go

select dbo.fn1()

سطر آخر خطا میده

MajerajooyeKhallagh
پنج شنبه 24 خرداد 1386, 11:49 صبح
جناب آقای ثباتی عزیز ,حق با شماست,ذخیره میشه ولی اجرا نمیشه,ممنون از توجهتون