View Full Version : تفاوت بین تابع(Function) و روالهای ذخیره شده(Stored Procedure) چیست؟
pesare
دوشنبه 08 مهر 1392, 19:21 عصر
سلام دوستان
تفاوت بین تابع(Function) و روالهای ذخیره شده(Stored Procedure) چیست؟
veniz2008
دوشنبه 08 مهر 1392, 20:36 عصر
سلام.
چندین تفاوت اساسی وجود داره :
1. در sp ها شما می تونید علاوه بر select ها از DML ها (insert ، delete و Update ) هم استفاده کنید ولی در توابع (Function) شما فقط مجاز به استفاده از select ها هستید.
2. در sp ها شما می تونید پارامترهای ورودی و خروجی داشته باشید در حالیکه تابع فقط میتونه پارامتر ورودی داشته باشه.
3. درون یک sp میتونید یک تابع رو صدا بزنید ولی درون یک تابع نمی تونید یک sp رو صدا بزنید.
4. sp ها می تونن مقدار خروجی داشته باشند یا نداشته باشند ولی توابع حتما باید خروجی داشته باشند.
5. درون یک select نمیشه یک sp رو صدا زد ولی درون select میتونید یک تابع رو صدا بزنید.
6. در sp ها می تونید برای مدیریت کردن خطا ها، کدهاتون رو درون بلاک های Try و Catch قرار بدید ولی در توابع چنین امکانی میسر نیست.
و ...
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.