سلام. فكر كنم قبلا هم اين درخواست رو كرده بوديد. درسته؟ اينجا فقط براي دستورات T-SQL هست و از اونجا كه sp مختص sql server هست در موردش چيزي ننوشتم اما از اونجا كه خواهان داره بخشي از فوايدشو مينويسم:
1. دستورات StoredProcedure در بانک اطلاعاتی SqlServer هستند و موقع ایجادشون Parse می شوند به این معنا که شما خیالتون از بابت Syntax راحته.
2. به جهت اینکه Stored Procedure ها در بانک اطلاعاتی Compile می شوند سرعت اجراشون بیشتره.
3. احتمال سوء استفاده از دستورات SqlServer یا اصطلاحا Sql Injection رو به حداقل می رسونن.
یه خوبی دیگه که به نطر من SP ها دارن اینکه شما از یه DB با همون SP ها می تونید برای چندین application استفاده کنید. مثلاً فرض کنید برای یک DB متعلق به کتابخونه چند تا application هست، یکی برای manager یکی برای user و .... و هر کدوم از این application ها رو یه company مجزا نوشتن. و DB Manager برای بالا بردن امنیت به این دو شرکت فقط از طریق SP هایی که خودش تعریف می کنه سطح دسترسی می ده. اینجوری هم امنیت و صحت اطلاعات DB بالا می ره هم از دوباره کاری کاسته می شه، چون خیلی از Query ها مشترکند.
یه ویژیگی دیگش اینکه مجموعه ای از کارها با DB رو روی خود DB server انجام می ده. یه مثاله سادش اینکه فرض کند می خواهید روی یک query یک Query دیگه بگیرید، اگه همه این کارها رو سمت application server انجام بدبد، ممکنه به چندبار ارتباط با حجم انتقال زیاد با DB Server نیاز باشه، اما با SP همه عملیات میانی سمت DB انجام می شه و از اتلاف پهنای باند بیهوده و سربار زیاد سمت Application جلوگيري ميشه
و ...
براي نحوه نوشتنش هم ميتونيد به sp هاي ديتابيس master كه تعدادشون هم كم نيست مراجعه كنيد
موفق باشيد