چطور می توان خروجی sp های را که شامل دستور select می باشند در یک temp table ذخیره کرد
چطور می توان خروجی sp های را که شامل دستور select می باشند در یک temp table ذخیره کرد
خیلی ساده :
Select * into #TempTbl from TBL
در جدول موقت کاملا مانند جدول واقعی میتوان داده ریخت ، آن را ایجاد کرد ، حذف کرد و ...
ممنون دوست عزیز این جواب سول من نبود
فکر می کنم توضیحات من کافی نبوده
ببینید من یک sp دارم که میتونم با ارسال پارامتر اجراش کنم این sp چند سطر از چند جدول را بر می گردونه
حالا بدون دستکاری در خود sp ایا می شه محتویاتش رو در یک temp table ذخیره کرد
مثلا دستور exec ایا شکل خاصی داره که بشه بجای نمایش خروجی sp ان را در یک temp table ذخیره کنه
اگر منظورت را از کلمه SP درست فهمیده باشم، منظور stored Procedure است، روالها کلاً اعداد توضیحی وضعیت روال را باز می گردانند(Error)، و با روش mannia29 تو عدد وضعیت ذخیره می کنی، و چرا از توابع تعریف شده توسط کاربر استفاده نمی کنی، که جدولی را طبق گفته دوستمان ذخیره کنی.
ولی بهر حال با پارامترهای(آرگومانها) ورودی و خروجی می توان با SP (با خروجی) با ان ارتباط برقرار کرد، و عدد و متن گرفت؛ ولی گرفتن جدول نمی دانم بشود یا خیر، به توضیح زیر توجه کن.
ما متغیر جدولی (از نسخه 2000 به بالا) داریم، جدول مورد نظر را در آرگومان جدولی خروجی بریز، سپس آرگومان خروجی را به یک متغیر (بیرون sp) انتقال بده، سپس این متغیر را طبق گفته دوستمان ذخیره کن.
باور کنید من تمام سعی ام رو می کنم که منظورم رو برسونم شرمنده واقعا
من به کد sp ها دسترسی ندارم اگه هم داشته باشم نمی تونم کد داخلش رو دستکاری کنم (به علت پاره ای از مسائل)
من فقط می تونم این sp ها رو exec کنم و سطر های خروجیش رو ببینم
حالا با این شرایط که نمی تونم به هیچ عنوان تغییری در کد sp بدم ایا می شه خروجی سطر های sp رو در temp table ذخیره کرد
دوست عزیزم،
میتونین این کار رو انجام بدین:
INSERT MyTable EXEC MySP
ولی جدول باید از قبل ساخته شده باشه