PDA

View Full Version : سوال: select از خروجي يك sp



حسین محمدی
یک شنبه 26 خرداد 1387, 18:17 عصر
با سلام

چگونه مي توان از خروجي يك stored procedure مثلا xp_msver يك select زد؟

ASKaffash
یک شنبه 26 خرداد 1387, 19:16 عصر
با سلام
ولی xp_msver یک ESP است و SP نیست:


Create Proc X
As
exec master..xp_msver

حسین محمدی
دوشنبه 27 خرداد 1387, 09:29 صبح
با سلام
ولی xp_msver یک ESP است و SP نیست:


Create Proc X
As
exec master..xp_msver


ظاهرا شما متوجه سوال بنده نشده ايد !!
سوال من اين نبود كه xp_msver يك sp است يا esp
سوال من اين است خروجي بعضي از sp ها يك select است. آيا مي توان از اين select مانند يك subquery نوع دوم يك select ديگر زد يا آنرا در join شركت داد؟

AminSobati
دوشنبه 27 خرداد 1387, 21:42 عصر
نه دوست عزیزم،
مگر اینکه خروجی تبدیل به XML بشه و دریافت کننده XML مجددا XQuery بگیره

حسین محمدی
سه شنبه 28 خرداد 1387, 09:47 صبح
در مورد xp_msver آيا مي توان خروجي آنرا به xml تبديل كرد؟

AminSobati
سه شنبه 28 خرداد 1387, 11:50 صبح
declare @x table (c1 sysname null,c2 sysname null,c3 sysname null,c4 sysname null)
insert @x exec xp_msver
select * from @x for xml auto, elements

حسین محمدی
سه شنبه 28 خرداد 1387, 16:35 عصر
با تشكر از پاسخ شما

يك سوال ديگر : اگر در مورد sysname توضيح بفرماييد ممنون مي شوم. من در msdn با بعضي از مقادير return value ي sp ها به همين شكل مواجه شده ام.

MShirzadi
سه شنبه 28 خرداد 1387, 16:47 عصر
البته من در رابطه با سئال قبلی شما بگم که از خروجی SP نمی شه مثل یک Table با ون برخود کرد یعنی اینکه شما نمتونی دوباره از خروجی اون Select کنی
از Sp فقط می شه برای نمایش استفاده کرد.
خداحافظ

AminSobati
سه شنبه 28 خرداد 1387, 17:26 عصر
بر گرفته از Books Online:



sysname is a system-supplied user-defined data type that is functionally equivalent to nvarchar(128), except that it is not nullable. sysname is used to reference database object names.