Create procedure procedue_name
    [@parameter data_type][output]
    [with]{recompile|encryption}
    as
    sql_statement
            
    解釋 output:表示此參數(shù)是可傳回的.
         with {recompile|encryption}
          recompile:表示每次執(zhí)行此存儲過程時都重新編譯一次
          encryption:所創(chuàng)建的存儲過程的內(nèi)容會被加密
                表book的內(nèi)容如下
               編號     書名                           價格
               001       C語言入門                   $30
               002       PowerBuilder報表開發(fā)   $52
                實例1:查詢表Book的內(nèi)容
            create proc query_book
       as
       select * from book
   go
exec query_book
實例2:加入一筆記錄到表book,并查詢此表中所有書籍的總金額
             
               Create proc insert_book
               @param1 char(10),@param2 varchar(20),@param3 money,@param4 money output
               with encryption   ---------加密
               as
               insert book(編號,書名,價格) Values(@param1,@param2,@param3)
   select @param4=sum(價格) from book
   go
                執(zhí)行例子:
   declare @total_price money
   exec insert_book '003','Delphi 開發(fā)指南',$100,@total_price
   print '總金額為'+convert(varchar,@total_price)
   go
                實例3:設(shè)有兩個表為Product,Order,其表內(nèi)容如下:
       Product
           產(chǎn)品編號       產(chǎn)品名稱    客戶訂數(shù)    
             001             鋼筆         30        
             002             毛筆         50        
             003             鉛筆         100        
       Order  
           產(chǎn)品編號         客戶名     客戶訂金
             001               南山區(qū)       $30
             002               羅湖區(qū)       $50
             003               寶安區(qū)       $4
    請實現(xiàn)按編號為連接條件,將兩個表連接成一個臨時表,該表只含編號.產(chǎn)品名.客戶名.訂金.總金額,
總金額=訂金*訂數(shù),臨時表放在存儲過程中
                代碼如下:
     Create proc temp_sale
     as
       select a.產(chǎn)品編號,a.產(chǎn)品名稱,b.客戶名,b.客戶訂金,a.客戶訂數(shù)* b.客戶訂金 as總金額
       into #temptable from Product a inner join Order b on a.產(chǎn)品編號=b.產(chǎn)品編號
     if   @@error=0
       print 'Good'
     else
       print 'Fail'
     go