【SQL Server】--儲存過程
一、什麼是儲存過程?
定義:
儲存過程(Stored Procedure)是在大型資料庫中,將常用的或複雜的工作,預先用SQL語句寫好並用一個指定的名稱儲存起來,一次編譯後再次呼叫不需要編譯,使用者通過指定儲存過程的名字並給出引數來執行。
分類:
系統儲存過程:sp_開頭
擴充套件儲存過程:xp_開頭
使用者自定義儲存過程:
推薦命名語法:[proc] [MainTableName] By [FieldName(optional)] [Action]
字首必須有proc ,儲存過程訪問的物件,可選欄位名是條件子句,最後的動詞是執行的任務。例子:procClientRateSelect
注意:不推薦命名為sp_為字首,因為這樣SQL Server會首先查詢系統儲存過程,會導致執行緩慢
二、一般SQL語句與儲存過程的區別
1.提高效能,儲存過程只需編譯一次,一般SQL執行一次編譯一次,可以提高資料庫執行速度。
2.封裝特性,可以將複雜的資料庫操作(增、刪、改、查)用儲存過程封裝起來,與資料庫提供的事務結合。
3.可重複使用,減少資料庫開發人員工作量。
4.安全性高,只有設定的使用者具有儲存過程使用權。
三、儲存過程例項
1.SQLHelper呼叫儲存過程
<span style="font-size:18px;"> public DataTable test(string procName)
{
DataTable dt = new DataTable();
cmd = new SqlCommand(procName, GetConn());
cmd.CommandType = CommandType.StoredProcedure;
using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(sdr);
}
return dt;
}</span>
主要是把 command命令裡面的procName賦值為儲存過程名,把cmd.CommandType賦值為CommandType.StoredProcedure即可。
2.儲存過程的書寫:
<span style="font-size:18px;">SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: 王美
-- Create date: 2015年2月6日23:11:35
-- Description: 取出最新10條新聞(所屬分類,新聞標題)
-- =============================================
CREATE PROCEDURE procNewsSelectNewNews
-- Add the parameters for the stored procedure here
AS
BEGIN
---選擇最上面的10條
select top 10 n.id,n.title ,n.createTime ,c.[name] from news n
----類別表的id=新聞表裡面的id,內連線
inner join category c on n.caId=c.id
order by n.createTime desc---降序排列
END
GO
exec procNewsSelectNewNews</span>
四、後記
對於儲存過程,使用的還不是很頻繁,對它的感官還不是很立體。如有不妥,還望指正,歡迎交流!
相關文章
- SQL Server 儲存過程SQLServer儲存過程
- MS SQL Server儲存過程SQLServer儲存過程
- Sql Server系列:儲存過程SQLServer儲存過程
- 解密SQL SERVER儲存過程解密SQLServer儲存過程
- SQL Server基礎:儲存過程SQLServer儲存過程
- sql server儲存過程語法SQLServer儲存過程
- SQL server儲存過程函式SQLServer儲存過程函式
- SQL Server 儲存過程的運用SQLServer儲存過程
- SQL Server基礎之儲存過程SQLServer儲存過程
- (SQL Server)分頁的儲存過程SQLServer儲存過程
- SQL Server 禁用擴充套件儲存過程SQLServer套件儲存過程
- SQL Server 資料備份儲存過程SQLServer儲存過程
- ms sql server儲存過程目前使用模板SQLServer儲存過程
- SQL Server儲存過程中raiserror的使用SQLServer儲存過程AIError
- SQL Server儲存過程的優缺點SQLServer儲存過程
- 【SQL Server】常見系統儲存過程SQLServer儲存過程
- SER SERVER儲存過程Server儲存過程
- SQL SERVER儲存過程AS和GO的含義SQLServer儲存過程Go
- Java呼叫SQL Server的儲存過程詳解JavaSQLServer儲存過程
- 【fosoyo】SQL Server儲存過程/函式加/解密SQLServer儲存過程函式解密
- 幾個實用SQL Server取儲存過程SQLServer儲存過程
- SQL SERVER 2005分頁儲存過程SQLServer儲存過程
- SQL儲存過程示例SQL儲存過程
- SQL Server 資料訪問策略:儲存過程QCSQLServer儲存過程
- 儲存過程 與 SQL Server語句大比拼儲存過程SQLServer
- SQL Server系統儲存過程和引數示例SQLServer儲存過程
- 【stswordman】SQL Server 2005: 儲存過程簽名SQLServer儲存過程
- 編寫和優化SQL Server的儲存過程優化SQLServer儲存過程
- SQL Server 儲存過程的經典分頁(轉)SQLServer儲存過程
- SQL 儲存過程裡呼叫另一個儲存過程SQL儲存過程
- 一個SQL Server Sa密碼破解的儲存過程SQLServer密碼儲存過程
- SQL Server系統儲存過程和引數總結SQLServer儲存過程
- 小寫轉大寫金額儲存過程[SQL SERVER]儲存過程SQLServer
- SQL Server中建立儲存過程時,with recompoile的作用SQLServer儲存過程
- 在 SQL Server 的儲存過程中呼叫 Com 元件 (轉)SQLServer儲存過程元件
- SQL Server實戰五:儲存過程與觸發器SQLServer儲存過程觸發器
- Ms Sql Server查詢儲存過程中的內容SQLServer儲存過程
- SQL 分頁儲存過程SQL儲存過程