اگر شما بتونید Query در SQL بنویسید همون Query هست و فرقی نداره که شما حالا می خواهید Query هاتون رو مستقیم بنویسید یا اینکه با sp ، اما مزایای بیشماری داره یکی از اونها اینکه اگر برنامه شما مشکلی در query داشته باشه می تونید بدون اینکه برنامه رو compile کنید فقط با تغییر sp مشکل برنامتون رو حل کنید یکی دیگه از مزایای استفاده از sp جلوگیری از injection هست که ان خیلی مهم هست و ....
به طور کلی شما باید query نویس خوبی باشی
برای تعریف sp هم که یک قالب وحود داره و از اون قالب استفاده می کنی در SQL 2005 که خودش به صورت default اونو واست می ذاره
به عنوان مثال
CREATE
PROCEDURE spTable_Get @Id BIGINT
AS
BEGIN
SELECT * FROM [dbo].[Table] WHERE [dbo].[Table].[Id]=@Id
END
موفق باشید