PDA

View Full Version : آیا میشه از خروجی SP به عنوان یک جدول استفاده کرد !



amin_alexi
دوشنبه 16 دی 1387, 15:19 عصر
سلام
آیا میشه از خروجی SP به عنوان یک جدول استفاده کرد !
من یک SP نوشتم به این صورت

Create procedure SpTest
@Code Nvarchar(50)
As
Select * from Kala Where Code = @Code
حالا میخوام ببینم می تونم به این صورت استفاده کنم !

Select *
From (Exec SpTest '1-001') As AAAA

که روش بالا Error میده !

Server: Msg 156, Level 15, State 1, Line 2
Incorrect syntax near the keyword 'Exec'.
Server: Msg 170, Level 15, State 1, Line 2
Line 2: Incorrect syntax near ')'.

یا دوستان بگن Error چیه یا اینکه یه راه حل دیگه !!!
ممنون از همه ...
نکته : از Function نمی خوام استفاده کنم ! به این علت که اینجا گفتم http://barnamenevis.org/forum/showthread.php?p=660460#post660460

AminSobati
دوشنبه 16 دی 1387, 18:06 عصر
سلام،
از Inline Table Valued Function استفاده کنید:



CREATE FUNCTION fn1(@Code int)
RETURNS TABLE
AS
RETURN SELECT * FROM Kala WHERE Code = @Code
GO


ولی اگر الزاما باید SP باشه:



USE Northwind
GO

CREATE PROC MyProc1
@CID CHAR(5)
AS
SELECT * FROM Orders WHERE CustomerID=@CID
GO

SELECT *
FROM OPENROWSET('SQLNCLI', 'Server=.;Trusted_Connection=yes;',
'EXEC Northwind.dbo.MyProc1 @CID=''ALFKI''') AS a