ایجاد Stored Procedure :

مانند هر زبان دیگر رویه ها در Sqlserver نیز موجود می باشند. و بکار میروند. سه رویه insert , Update و Delete را می توانید براحتی با ویزاردهای خود Sqlserver بسازید. از اینجا به بعد از واژه SP بجای رویه استفاده خواهیم کرد. ابتدا با ساختار کلی SP آشنا شده و سپس به ویزارد موجود خواهیم پرداخت.  


  Create Procedure [SP Name] ( [SP Argument] )   AS

     Begin   

         .........          

     End   


برای ایجاد یک SP جدید ابتدا برروی گزینه Stored Procedure کلیک سمت راست کرده و گزینه new Stored Procedure را انتخاب کنید. در پنچره بعدی شما می توانید متن SP را وارد کنید.

نام sp : ابتدا بجای [SP Name] یک نام برای SP خود در نظر بگیرید.
جدول عنوان مثال اگر نام جدول Sale و عملیات مورد نظر یک عملیات insert باشد نام SP را Sale_INSERT میگذاریم. بهتر است نام عملیات با حروف بزرگ تایپ شود . البته بعضی ها از سه حرف عملیات استفاده می کنند. برای مثال بالا خواهیم داشت:
Sale_INSERT تعریف پارامترها: برای تعریف پارامترهای ورودی SP قبل از کلمه کلیدی AS آنها را داخل پرانتز مشخص کنید. بدین شکل که ابتدا علامت @ سپس نام پارامتر بعد فاصله و نوع پارامتر.
تذکر :
تمامی متغییرها در SP از ساختار نام متغییر@ پیروی میکنند. بعنوان مثال فرض کنید یک SP دارای دو پارامتر با نامهای Id از نوع int و Name از نوع (Varchar 20)  باشد 

 ( ( @id int@name varchar(20)
حال بعد از As دستورات مورد نظر را تایپ میکنیم 

مثال 1 :
SP بنویسید که چهار حرف اول فیلد LastName و فیلد FirstName را از جدول Employees انتخاب کند به شرطی که فیلد LastName با حرف A شروع شود ؟

ابتدا برروی Stored procedure کلیک سمت راست کرده و گزینه New stored procedure را انتخاب کرده و خطوط زیر را تایپ کنید. بعضی از دستورات پایین در کادر باز شده موجود هستند که نیازی به تایپ مجدد آنها نیست .

Create Procedure Employees_BROWSE  AS 
    Begin
      Select substring (Lastname, 1, 4) as LastName, FirstName 
       From  Employees 
       Where  LastName Like '%A'
    End

حال بر روی دکمه ok کلیک نمایید. حال SP با نام Employees_BROWSE در لیست SP اضافه شده است .

مثال 2 :
تمام فیلدهای Employees را انتخاب کنید که فیلد BirthDate در یک بازه تاریخی که به شکل پارامتر وارد میشود قرار گیرد

Create  Procedure Employees_BROWSE2 (@StartDate char (10), @EndDate char (10))  As

 Begin
Select * From Employees     
where   BirthDate between @StartDate and @EndDate      
          End

حال برای اجرای SP ها در Query Analyzer کافی است بنویسیم
[نام Exec [SP
بعنوان مثال :
Exec Employees_BROWSE
اگر پارامتر داشت مقدار پارامترها را هم می آوریم 

'Exec Employees_Browse2 '01/01/1940', '15/06/1955