詳解SQL存儲(chǔ)過程_Mssql數(shù)據(jù)庫教程
推薦:實(shí)例演示left join/right join/inner join表A記錄如下: aID aNum 1 a20050111 2 a20050112 3 a20050113 4 a20050114 5 a20050115 表B記錄如下: bID bName 1 2006032401 2 2006032402 3 2006032403 4 2006032404 8 2006032408 實(shí)驗(yàn)如下: 1. left join sql語句如下: SELECT * FROM A LEFT JOIN B ON A
前言
一直用ASP+ACCESS來編寫網(wǎng)頁和公司的內(nèi)部應(yīng)用系統(tǒng),內(nèi)部應(yīng)用系統(tǒng)也就是大家說的OA吧,這個(gè)我也不知道,公司又叫它ERP,反正不管什么,它是用來幫助公司處理日常工作的,簡(jiǎn)化勞動(dòng)的.從來沒用過存儲(chǔ)過程,所有的添加,刪除,修改都是在ASP里面寫程序執(zhí)行,代碼很多.數(shù)據(jù)量少的時(shí)候沒什么感覺,挺快的,可等到數(shù)據(jù)量大的時(shí)候,上W條記錄查詢,尤其是不分頁都顯示在一頁里的時(shí)候情況就出現(xiàn)了,速度很慢,要10幾秒才有反應(yīng),所以想到了要用SQL的存儲(chǔ)過程來簡(jiǎn)化代碼和加快程序的執(zhí)行速度!
在學(xué)習(xí)了51JS里的一篇教程SQL SERVER數(shù)據(jù)庫開發(fā)之存儲(chǔ)過程應(yīng)用又在QQ里大俠的指導(dǎo)下終于有點(diǎn)入門,下邊是我的學(xué)習(xí)筆記,有問題歡迎大家一起討論!~
1.ASP調(diào)用存儲(chǔ)過程
首先在SQL里建立一個(gè)數(shù)據(jù)庫叫it,怎么建我就不說了,這個(gè)簡(jiǎn)單,一看就知道了。然后在庫里建個(gè)表,寫幾個(gè)數(shù)據(jù)記錄,如下:

點(diǎn)擊放大

打開查詢分析器:

在里邊寫下如下語句點(diǎn)擊綠色按鈕執(zhí)行它:

你到數(shù)據(jù)庫的存儲(chǔ)過程里面看,已經(jīng)多了一個(gè)名為upGetUserName的存儲(chǔ)過程了表明已經(jīng)成功的建立了存儲(chǔ)過程,如果沒有,試著刷新下。

下面用ASP來調(diào)用它:
CONN文件(連接數(shù)據(jù)庫)如下:
<%
set db=server.createobject("adodb.connection")
db.Open ("driver={SQL Server};server=192.168.18.254;uid=sa;pwd=;database=it;")
%>
192.168.18.254為SQL SERVER服務(wù)器的IP地址,uid pwd it 分別為連接數(shù)據(jù)庫的用戶和密碼及所要連的數(shù)據(jù)庫
新建一個(gè)index.asp文件,內(nèi)容如下:
<!--#include file="conn.asp" -->
<%
set rs=server.createobject("adodb.recordset")
sql = "exec upGetUserName"
rs.open sql,db,3,2
response.write rs.recordcount&"<br>"
while not rs.eof
response.write rs("uname")&"<br>"
rs.movenext
wend
response.End
%>
在瀏覽器中執(zhí)行這個(gè)頁面如果顯示如下:

那么恭喜你,成功了!
上面是不帶參數(shù)的存儲(chǔ)過程調(diào)用,但我們?cè)谑褂弥幸欢〞?huì)有參數(shù)的,下面就來介紹一個(gè)有參數(shù)的。
還是上邊的例子,我們把原來的存儲(chǔ)過程改成這樣:
CREATE PROC upGetUserName
@intUserId NVARCHAR(50),
@intUserpass NVARCHAR(50)
AS
BEGIN
SELECT uname FROM users WHERE uId=@intUserId and pass=@intUserpass
END
GO
可以把原來的存儲(chǔ)過程刪除,然后把這個(gè)寫在查詢分析器里來執(zhí)行,也可以直接在原來的存儲(chǔ)過程里改。
@intUserId NVARCHAR(50),
@intUserpass NVARCHAR(50)
是要傳送進(jìn)來的參數(shù),@是必須的,因?yàn)橛袃蓚(gè),所以之間用“,”來分隔
index文件改成如下:
<!--#include file="conn.asp" -->
<%
set rs=server.createobject("adodb.recordset")
sql = "exec upGetUserName 'snake','snake'"
rs.open sql,db,3,2
response.write rs.recordcount&"<br>"
while not rs.eof
response.write rs("uname")&"<br>"
rs.movenext
wend
response.End
%>
注意:sql = "exec upGetUserName 'snake','snake'"
兩個(gè)snake不是一個(gè)意思,一個(gè)是uid,一個(gè)是pass,存儲(chǔ)過程返回的是uid="snake"并且pass="snake"的記錄
數(shù)據(jù)庫里只有一條這樣的記錄,所以會(huì)顯示:

OK,你已經(jīng)入門了!就這么簡(jiǎn)單!
分享:解析配置SQL SERVER合并復(fù)制(一)概念介紹Rob Tiffany's 曾經(jīng)在 MEDC 2007 Las Vegas 和 Tech Ed 2007 Orlando 演示了擁有800個(gè)訂閱的4層合并復(fù)制架構(gòu)。之后他開始編寫一本叫《Windows Mobile Data Synchronization with SQL Server 2005 and SQL Server Compact 3.1》的書,將構(gòu)建高性能、可伸縮性的
- sql 語句練習(xí)與答案
- 深入C++ string.find()函數(shù)的用法總結(jié)
- SQL Server中刪除重復(fù)數(shù)據(jù)的幾個(gè)方法
- sql刪除重復(fù)數(shù)據(jù)的詳細(xì)方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無法查看數(shù)據(jù)庫,提示 無法為該請(qǐng)求檢索數(shù)據(jù) 錯(cuò)誤916解決方法
- SQLServer日志清空語句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創(chuàng)建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統(tǒng)安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲(chǔ)過程參數(shù)的用法實(shí)例詳解
Mssql數(shù)據(jù)庫教程Rss訂閱編程教程搜索
Mssql數(shù)據(jù)庫教程推薦
- 關(guān)于SQL 存儲(chǔ)過程入門基礎(chǔ)(變量)
- SQL Server 索引介紹
- SQL2005 性能監(jiān)視器計(jì)數(shù)器錯(cuò)誤解決方法
- 解析配置SQL SERVER合并復(fù)制(二)建立域用戶
- Sql學(xué)習(xí)第三天——SQL 關(guān)于CTE(公用表達(dá)式)的遞歸查詢使用
- 高手是怎樣煉成的:精妙SQL語句介紹
- Sql語句密碼驗(yàn)證的安全漏洞
- 怎樣做sql server數(shù)據(jù)庫的還原
- 解析SQL Server 2005實(shí)現(xiàn)數(shù)據(jù)庫緩存依賴
- sqlserver中delete、update中使用表別名和oracle的區(qū)別
猜你也喜歡看這些
- mysql占用CPU過高的解決辦法(添加索引)
- 擁有5星評(píng)級(jí)數(shù)據(jù)庫表結(jié)構(gòu) 如何才能更高效的使用?
- mysql手動(dòng)刪除BINLOG的方法
- MySQL SELECT同時(shí)UPDATE同一張表問題發(fā)生及解決
- 關(guān)于Mysql查詢帶單引號(hào)及插入帶單引號(hào)字符串問題
- MySQL筆記之字符串函數(shù)的應(yīng)用
- 解析mysql中:單表distinct、多表group by查詢?nèi)コ貜?fù)記錄
- 更新text字段時(shí)出現(xiàn)Row size too large報(bào)錯(cuò)應(yīng)付措施
- MySQL筆記之?dāng)?shù)學(xué)函數(shù)詳解
- Mysql中的find_in_set的使用方法介紹
- 相關(guān)鏈接:
- 教程說明:
Mssql數(shù)據(jù)庫教程-詳解SQL存儲(chǔ)過程
。