PDA

View Full Version : انتخاب خروجی های یک SP



amir_alaki
دوشنبه 30 شهریور 1388, 19:55 عصر
باسلام به دوستان

فرض کنید یک SP هست که به نوعی عملیات انجام میده و یکسری ستون ها رو میسازه و برمیگردونه ، سوال من اینه که آیا میشه با یه روشی خروجی های این Sp رو انتخاب کرد.

یکم توضیح میدم
فرض کنید که SP - ستون های Name,Family,Age,CityId رو بر میگردونه ، حالا می خواهیم یه جوری فقط از خروجی این SP فقط ستون های خاص مانند Name ,FAmily رو انتخاب کرد.

داستان یه جوریه که توی خود SP هم نمیشه ستون ها رو محدود کرد(از لحاظ ساختاری - چون به اندازه کافی SP خودش خفن هست!!!!؟؟؟؟؟؟)

یه مثال دیگه:



create procedure dbo.result

AS
Declare @a int
Declare @b int
Select @a=a from table1
Select @b=b from table2

select @a as a,@b as b,@a+@b as c

GO


حالا می خواهیم بعد از اجرای SP فقط مقدا a و c رو مثلا داشته باشیم و از خروجی SP انتخاب کنیم.


ممنون

AminSobati
سه شنبه 31 شهریور 1388, 21:40 عصر
سلام دوست عزیزم،
خیلی سرراست نیست ولی امیدوارم کمک کنه:


use northwind
go

create proc sp1
as
select * from customers
go

SELECT companyname, country
FROM OPENROWSET('sqloledb', 'Server=(local);Trusted_Connection=yes;',
'exec northwind.dbo.sp1') AS a;

amir_alaki
چهارشنبه 01 مهر 1388, 15:13 عصر
باتشکر
ممنون ، ولی بازم یک خطایی میده که فکر کنم نشه برطرف کرد. چون اون Sp که من صدا می کنم خودش ستون های خروحیش ساخته میشه ، مثلا با Pivote یک جدول رو طراحی میکنه اجرا می کنه ، حالا قراره که بعضی از اونا نمایش داده بشند ، هردفه ممکن عوض بشن




Msg 7355, Level 16, State 1, Line 9
The OLE DB provider "SQLNCLI" for linked server "(null)" supplied inconsistent metadata for a column. The name was changed at execution time.



البته Provider اون رو هم عوض کردم بازم درست نشد.
بازم ممنون

AminSobati
پنج شنبه 02 مهر 1388, 19:27 عصر
خوب این شرایط رو غیر قابل پیش بینی میکنه. فکر کنم کل داستان رو باید با Dynamic TSQL انجام داد