日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
SQL存儲過程的功能

SQL存儲過程使我們在使用SQL數(shù)據(jù)庫時經(jīng)??梢杂玫降?,下面就讓我們來一起了解一下SQL存儲過程都能帶來什么樣的好處。

SQL存儲過程(Stored Procedure)是一組為了完成特定功能的SQL語句集,經(jīng)編譯后存儲在數(shù)據(jù)庫中。用戶通過指定存儲過程的名字并給出參數(shù)(如果該存儲過程帶有參數(shù))來執(zhí)行它。存儲過程是數(shù)據(jù)庫中的一個重要對象,任何一個設(shè)計良好的數(shù)據(jù)庫應用程序都應該用到存儲過程。

* SQL存儲過程的能力大大增強了SQL語言的功能和靈活性。存儲過程可以用流控制語句編寫,有很強的靈活性,可以完成復雜的判斷和較復雜的 運算。
* 可保證數(shù)據(jù)的安全性和完整性。
# 通過存儲過程可以使沒有權(quán)限的用戶在控制之下間接地存取數(shù)據(jù)庫,從而保證數(shù)據(jù)的安全。
# 通過SQL存儲過程可以使相關(guān)的動作在一起發(fā)生,從而可以維護數(shù)據(jù)庫的完整性。
* 在運行存儲過程前,數(shù)據(jù)庫已對其進行了語法和句法分析,并給出了優(yōu)化執(zhí)行方案。這種已經(jīng)編譯好的過程可極大地改善SQL語句的性能。由于執(zhí)行SQL語句的大部分工作已經(jīng)完成,所以存儲過程能以極快的速度執(zhí)行。
* 可以降低網(wǎng)絡(luò)的通信量。
* 使體現(xiàn)企業(yè)規(guī)則的運算程序放入數(shù)據(jù)庫服務器中,以便:
# 集中控制。
# 當企業(yè)規(guī)則發(fā)生變化時在服務器中改變存儲過程即可,無須修改任何應用程序。企業(yè)規(guī)則的特點是要經(jīng)常變化,如果把體現(xiàn)企業(yè)規(guī)則的運算程序放入應用程序中,則當企業(yè)規(guī)則發(fā)生變化時,就需要修改應用程序工作量非常之大(修改、發(fā)行和安裝應用程序)。如果把體現(xiàn)企業(yè)規(guī)則的運算放入存儲過程中,則當企業(yè)規(guī)則發(fā)生變化時,只要修改存儲過程就可以了,應用程序無須任何變化。

 
 
 
  1. Create proc[edure] procedue_name  
  2. [@parameter data_type][output]  
  3. [with]{recompile|encryption}  
  4. as  
  5. 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)容的存儲過程

 
 
 
  1. create proc query_book  
  2. as  
  3. select * from book  
  4. go  
  5. exec query_book 

實例2:
加入一筆記錄到表book,并查詢此表中所有書籍的總金額

 
 
 
  1. Create proc insert_book  
  2. @param1 char(10),@param2 varchar(20),@param3 money,@param4 money output  
  3. with encryption ---------加密  
  4. as  
  5. insert book(編號,書名,價格) Values(@param1,@param2,@param3)  
  6. select @param4=sum(價格) from book  
  7. go 

執(zhí)行例子:

 
 
 
  1. declare @total_price money  
  2. exec insert_book '003','Delphi 控件開發(fā)指南',$100,@total_price  
  3. print '總金額為'+convert(varchar,@total_price)  
  4. go 

SQL存儲過程的3種傳回值:
1)、以Return傳回整數(shù)
2)、以output格式傳回參數(shù)
3)、Recordset

【編輯推薦】

oracle數(shù)據(jù)導入SQL數(shù)據(jù)庫的方法

SQL Server級聯(lián)更新的實現(xiàn)

SQL刪除所有表數(shù)據(jù)的實現(xiàn)方法

六種SQL Server刪除重復行的方法

Oracle查詢轉(zhuǎn)換為SQL查詢中列的選擇


分享題目:SQL存儲過程的功能
地址分享:http://www.5511xx.com/article/ccegidj.html