偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

SQL存儲過程的功能

數(shù)據(jù)庫 SQL Server
SQL存儲過程對于SQL數(shù)據(jù)庫而言,有著不可替代的作用,它大大增強了SQL語言的功能和靈活性,同時保證數(shù)據(jù)的安全性和完整性。

SQL存儲過程使我們在使用SQL數(shù)據(jù)庫時經常可以用到的,下面就讓我們來一起了解一下SQL存儲過程都能帶來什么樣的好處。

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

* SQL存儲過程的能力大大增強了SQL語言的功能和靈活性。存儲過程可以用流控制語句編寫,有很強的靈活性,可以完成復雜的判斷和較復雜的 運算。
* 可保證數(shù)據(jù)的安全性和完整性。
# 通過存儲過程可以使沒有權限的用戶在控制之下間接地存取數(shù)據(jù)庫,從而保證數(shù)據(jù)的安全。
# 通過SQL存儲過程可以使相關的動作在一起發(fā)生,從而可以維護數(shù)據(jù)庫的完整性。
* 在運行存儲過程前,數(shù)據(jù)庫已對其進行了語法和句法分析,并給出了優(yōu)化執(zhí)行方案。這種已經編譯好的過程可極大地改善SQL語句的性能。由于執(zhí)行SQL語句的大部分工作已經完成,所以存儲過程能以極快的速度執(zhí)行。
* 可以降低網絡的通信量。
* 使體現(xiàn)企業(yè)規(guī)則的運算程序放入數(shù)據(jù)庫服務器中,以便:
# 集中控制。
# 當企業(yè)規(guī)則發(fā)生變化時在服務器中改變存儲過程即可,無須修改任何應用程序。企業(yè)規(guī)則的特點是要經常變化,如果把體現(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)建的存儲過程的內容會被加密
如:
表book的內容如下
編號 書名 價格
001 C語言入門 $30
002 PowerBuilder報表開發(fā) $52
實例1:查詢表Book的內容的存儲過程

  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查詢轉換為SQL查詢中列的選擇

 

責任編輯:段燃 來源: 互聯(lián)網
相關推薦

2010-07-15 12:38:14

SQL Server存

2011-03-24 13:38:47

SQL Server 存儲分頁

2010-09-25 16:00:38

sql存儲過程

2009-08-06 16:44:06

2010-09-07 15:12:25

SQL語句優(yōu)化

2010-11-10 13:03:15

SQL Server存

2010-11-12 09:58:34

SQL存儲過程

2010-09-14 10:36:23

sql server存

2010-09-27 16:04:00

2011-03-28 10:46:36

sql server存儲分頁

2010-09-14 10:47:45

sql server存

2011-03-31 10:38:28

SQL Server編寫優(yōu)化

2010-09-07 16:46:56

SQL語句nsert

2010-11-10 15:47:59

2010-06-30 14:36:49

SQL Server

2010-09-10 14:09:23

2012-05-10 11:17:23

JavaSQL Server

2009-09-17 15:22:38

LINQ to SQL

2009-09-17 15:51:39

Linq to sql

2010-09-14 10:16:57

sql server
點贊
收藏

51CTO技術棧公眾號