儲存過程 與 SQL Server語句大比拼
本文從多個角度闡述了SQL Server與儲存過程的比較。
①為什麼要使用儲存過程?
因為它比SQL語句執行快。
②儲存過程是什麼?
把一堆SQL語句羅在一起,還可以根據條件執行不通SQL語句。
③來一個最簡單的儲存過程:
CREATE PROCEDURE dbo.testProcedure_AX AS select userID from USERS order by userid desc |
注:dbo.testProcedure_AX是你建立的儲存過程名,可以改為:AXzhz等,別跟關鍵字衝突就行了.AS下面就是一條SQL語句,不會寫SQL語句的請回避。
④怎麼在ASP.net中呼叫這個儲存過程:
public static string GetCustomerCName (ref ArrayList arrayCName,ref ArrayList arrayID) { SqlConnection con=ADConnection.createConnection(); SqlCommand cmd=new SqlCommand("testProcedure_AX",con); cmd.CommandType=CommandType.StoredProcedure; con.Open(); try { SqlDataReader dr=cmd.ExecuteReader(); while(dr.Read()) { if(dr[0].ToString()=="") { arrayCName.Add(dr[1].ToString()); } } con.Close(); return "OK!"; } catch(Exception ex) { con.Close(); return ex.ToString(); } } |
注:其實就是把以前:
SqlCommand cmd=new SqlCommand("select userID from USERS order by userid desc",con); |
中的SQL語句替換為儲存過程名,再把cmd的型別標註為CommandType.StoredProcedure(儲存過程)。
⑤寫個帶引數的儲存過程:
CREATE PROCEDURE dbo.AXzhz /* 這裡寫註釋 */ @startDate varchar(16), @endDate varchar(16) AS select id from table_AX where commentDateTime> @startDate and commentDateTime |
注:@startDate varchar(16)是宣告@startDate 這個變數,多個變數名間用【,】隔開.後面的SQL就可以使用這個變數了。
⑥我怎麼在ASP.NET中呼叫這個帶引數的儲存過程:
public static string GetCustomerCNameCount (string startDate,string endDate,ref DataSet ds) { SqlConnection con=ADConnection.createConnection(); //-----------------------注意這一段------------------- -------------------------------------------------------- ----------------------------- SqlDataAdapter da=new SqlDataAdapter("AXzhz",con); para0=new SqlParameter("@startDate",startDate); para1=new SqlParameter("@endDate",endDate); da.SelectCommand.Parameters.Add(para0); da.SelectCommand.Parameters.Add(para1); da.SelectCommand.CommandType=CommandType.StoredProcedure; //------------------------------------------------------------- ------------------------------------------------------------------ try { con.Open(); da.Fill(ds); con.Close(); return "OK"; } catch(Exception ex) { return ex.ToString(); } } |
注:把命令的引數新增進去,就可以了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-369033/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sql server儲存過程語法SQLServer儲存過程
- SQL Server 儲存過程SQLServer儲存過程
- 【SQL Server】--儲存過程SQLServer儲存過程
- EF中使用SQL語句或儲存過程SQL儲存過程
- MS SQL Server儲存過程SQLServer儲存過程
- Sql Server系列:儲存過程SQLServer儲存過程
- 解密SQL SERVER儲存過程解密SQLServer儲存過程
- 在.NET中用儲存過程執行SQL語句儲存過程SQL
- SQL Server基礎:儲存過程SQLServer儲存過程
- SQL server儲存過程函式SQLServer儲存過程函式
- 通過SQL語句提取儲存過程中的內容SQL儲存過程
- MySQL儲存過程語句及呼叫MySql儲存過程
- SQL Server 儲存過程的運用SQLServer儲存過程
- SQL Server基礎之儲存過程SQLServer儲存過程
- (SQL Server)分頁的儲存過程SQLServer儲存過程
- Sql Server系列:SQL語句查詢資料庫中表、檢視、儲存過程等組成SQLServer資料庫儲存過程
- asp.net分頁的SQL語句及儲存過程ASP.NETSQL儲存過程
- SQL Server實戰五:儲存過程與觸發器SQLServer儲存過程觸發器
- oracle 儲存過程以及plsql語句塊Oracle儲存過程SQL
- Oracle 儲存過程中的DDL語句Oracle儲存過程
- SQL Server 禁用擴充套件儲存過程SQLServer套件儲存過程
- SQL Server 資料備份儲存過程SQLServer儲存過程
- ms sql server儲存過程目前使用模板SQLServer儲存過程
- SQL Server儲存過程中raiserror的使用SQLServer儲存過程AIError
- SQL Server儲存過程的優缺點SQLServer儲存過程
- 【SQL Server】常見系統儲存過程SQLServer儲存過程
- SQL Server與MySQL儲存過程學習記錄之一ServerMySql儲存過程
- SER SERVER儲存過程Server儲存過程
- PostgreSQL獲取建表語句儲存過程SQL儲存過程
- SQL SERVER儲存過程AS和GO的含義SQLServer儲存過程Go
- Java呼叫SQL Server的儲存過程詳解JavaSQLServer儲存過程
- 【fosoyo】SQL Server儲存過程/函式加/解密SQLServer儲存過程函式解密
- 幾個實用SQL Server取儲存過程SQLServer儲存過程
- SQL SERVER 2005分頁儲存過程SQLServer儲存過程
- Entity Framework Code First執行SQL語句、檢視及儲存過程FrameworkSQL儲存過程
- SQL儲存過程示例SQL儲存過程
- Oracle儲存過程乾貨(二):PLSQL控制語句Oracle儲存過程SQL
- SQL Server 資料訪問策略:儲存過程QCSQLServer儲存過程