سوالSQL: اجرای Table valued function ها با استفاده از نام تابع به صورت رشته ای

hamid.farzi

New Member
دوستان سلام
چطور میتونم یک Table valued function رو سمت SQL با استفاده از نامش که به صورت یک رشته در دسترسه اجرا کنم و به نتیجه اش دسترسی داشته باشم ؟
متاسفانه دستور Execute فقط توابع Scalar رو اجرا و مقادیرش رو بر میگردونه . راه دیگه ای برای این کار هست ؟
اگر راهی هم باشه که بشه باهاش با استفاده از نام یک object به خود اون آبجکت رسید و ازش توی دستور select استفاده کرد هم فکر میکنم مشکل حل بشه . به صورتی که بشه از یک متغیر بجای نام جدول استفاده کرد ، البته بدون استفاده از Table variable و Temptable
 

NeoMajidOnline

New Member
سلام!
من سوال شما رو درست متوجه نمی شم؛ اگر می خواهید از table valued function ها استفاده کنید، باید اون ها رو دقیقا مثل یک جدول و فقط با اضافه کرد () بعد از نام تابع بکار ببرید. اما در مورد ایا جداول سیستمی مثل sysobjects رو باید بخونید.
 

hamid.farzi

New Member
درسته اینی که میفرمایید اجرای معمول Function هاست ، ببینید مشکلی که هست اینه که ما یک لیست از نام توابع داریم که ایجاد کردیم ، این نام ها به صورت varchar ذخیره شدن ، حالا ما طی محاسبات برنامه نیاز پیدا میکنیم که یکی از این نام ها رو گرفته و تابعش رو اجرا کنیم . یعنی دقیقا کاری که دستور Execute میتونه انجام بده . اما مشکل اینجاست که دستور Execute فقط توابع Scalar رو اجرا میکنه . حالا من دنبال راهی میگردم که بتونم اون قسمت از عملکرد دستور Exec رو که میتونه با استفاده از نام یک تابع اونرو اجرا کنه پیاده کنم ، به طوری که بتونم توابع Table valued رو صدا بزنم .
 

جدیدترین ارسال ها

بالا