亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

sqlserver存儲過程學習筆記(一)基礎知識篇(全

系統(tǒng) 2111 0

? 說出來有點丟人,做sqlserver應用系統(tǒng)近一年,竟然沒有使用過存儲過程,現(xiàn)在就好好的梳理一下對應知識,慢慢讓其加入到我的項目中去吧。

? 存儲過程的優(yōu)點:1、運行效率高,提供了在服務器端快速執(zhí)行sql語句的有效途徑。2、存儲過程降低了客戶機和服務器之間的通信量。3、方便實施企業(yè)規(guī)則。

? (1)創(chuàng)建存儲過程

? ①創(chuàng)建一個存儲過程,查看00005號課程的選修情況,包括選修該課程學生的學號、姓名和成績。

? ?解答:

? ? ? ? ? ? ? USE SM(數(shù)據(jù)庫名稱)

? ? ? ? ? ? ? GO

? ? ? ? ? ? ? CREATE PROCEDURE ssc_3

? ? ? ? ? ? ? AS

? ? ? ? ? ? ? ? ? ?SELECT Student.SNo,SName,Score

? ? ? ? ? ? ? ? ? ?FROM Student LEFT JOIN SC ON Student.SNo=SC.SNo

? ? ? ? ? ? ? ? ? ?WHERE SC.SNo='00005'

? ? ? ? ? ? ? ? ? ?GO

按F5鍵,創(chuàng)建成功

②執(zhí)行存儲過程:EXECUTE ssc_3

(2)使用輸入?yún)?shù)

?①上面建立的存儲過程只能對00005號課程的選修情況進行查看,要想對所有課程進行隨機查看,需要進行參數(shù)的傳遞

USE SM

GO

CREATE PROCEDURE ssc_4

@cnumber CHAR(5)

AS

?SELECT Student.SNo,SName,Score

?FROM Student LEFT JOIN SC ON Student.SNo=SC.SNo

?WHERE SC.SNo=@cnumber

GO

②按位置傳遞參數(shù)

EXECUTE ssc_4 '00008'

③通過參數(shù)名傳遞參數(shù)

EXECUTE ssc_4?

@cnumber='00008'

?(3)使用默認參數(shù)值

①執(zhí)行存儲過程ssc_4時,如果沒有給出參數(shù),系統(tǒng)會報錯。如果希望不給參數(shù)時,能查詢所有課程的選修情況,則可以使用默認參數(shù)來實現(xiàn)

?USE SM?

GO

CREATE PROCEDURE ssc_5

@cnumber CHAR(5) =NULL

AS?

IF ?@cnumber IS NULL

BEGIN

SELECT Student.SNo,SName,Score

FROM Stuent JOIN SC ON Student.SNo=SC.SNo

END

ELSE

BEGIN

SELECT Student.SNo,SName,Score FROM Student JOIN SC ON Student.SNo=SC.SNo

WHERE SC.SNo=@cnumber

END

GO

②執(zhí)行下面兩條語句,比較執(zhí)行結(jié)果。

EXECUTE ssc_5

EXECUTE ssc_5 '00005'

(4)使用輸出參數(shù)

①創(chuàng)建一個存儲過程ssc_6,獲得選修某門課程的總?cè)藬?shù)

USE SM?

GO

CREATE PROCEDURE ssc_6

@cnumber CHAR(5),@ccount INT OUTPUT

AS?

SELECT @ccount=COUNT(*) FROM SC WHERE SC.CNo=@cnumber

GO

@執(zhí)行存儲過程ssc_6

DECLARE @ccount INT

EXECUTE ssc_6 '00008',@ccount OUTPUT

SELECT 'the result is',@ccount

(5)使用返回值

①創(chuàng)建一個返回執(zhí)行狀態(tài)碼的存儲過程ssc_7,它接受課程號為輸入?yún)?shù),如果執(zhí)行成功,返回0;如果沒有給出課程號,返回錯誤碼1;如果給出的課程號不存在,返回錯誤碼2;如果出現(xiàn)其他錯誤,返回錯誤碼3.

USE SM

GO

CREATE PROCEDURE ssc_7

@cnumber CHAR(5) = NULL

AS

IF @cnumber IS NULL

BEGIN

? ? PRINT 'error:you must specify a course number.'

? ? RETURN(1)

? ? END

ELSE

BEGIN

? ? IF(SELECT COUNT(*) FROM SC WHERE CNo=@cumber)=0

? ? BEGIN

? ? PRINT 'error:you must specify a valid Course number'

? ? RETURN(2)

? ? ?END

END

SELECT @cnumber AS CNo FROM SC WHERE CNo=@cnumber?

IF @@error<>0

BEGIN?

RETURN(3)

END

ELSE

RETURN(0)

GO

執(zhí)行存儲過程ssc_7

DECLARE @result INT

EXEC @result ==ssc_7

SELECT 'the result is',@result

(6)修改存儲過程(sqlserver 2008下)

在數(shù)據(jù)庫根目錄下,打開可編程選項下得存儲過程選項,選擇要修改的存儲過程,右擊鼠標,在彈出的對話框中選擇修改即可

(7)查看存儲過程。

? 執(zhí)行以下語句,查看存儲過程ssc_3 的信息。

EXEC sp_help ssc_3

(8)刪除存儲過程

執(zhí)行以下語句,刪除存儲過程ssc_3

DROP PROCEDURE ssc_3

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

sqlserver存儲過程學習筆記(一)基礎知識篇(全)


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产专区精品 | 国产精品国产国产aⅴ | 天天操天天摸天天舔 | 毛片免费视频播放 | 久久99精品久久只有精品 | 亚洲精品线在线观看 | 四虎影院在线免费观看 | 久青草视频免费观看青 | 全免费一级午夜毛片 | 成人 在线欧美亚洲 | 和日本免费不卡在线v | 97影院网| 美女很黄很黄免费 | 伊人热 | 日日夜夜免费精品 | 天天做.天天爱.天天综合网 | 国产男女在线观看 | 五月天中文字幕 | 日韩国产欧美成人一区二区影院 | 狠狠色伊人亚洲综合成人 | 亚洲另类在线视频 | 亚洲不卡一区二区三区在线 | 国产成人免费在线视频 | 一本大道久久香蕉成人网 | 免费视频 久久久 | 色柚视频| 国产精品男人的天堂 | 天色噜噜噜噜 | 日本xoxoxo在线播放 | 黄色网址视频在线播放 | 久久精品免视看国产陈冠希 | 亚洲欧美日韩国产精品久久 | 国产91亚洲精品 | 免费看一级毛片 | 美女一级毛片免费不卡视频 | 久久青草免费免费91线频观看 | 超级乱淫视频播放日韩 | 欧美一级毛片生活片 | 尹人香蕉久久99天天拍欧美p7 | jizz18性欧美大全 | 国产一区在线播放 |