欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

存儲(chǔ)過程,非常重要

系統(tǒng) 2389 0

----------------常用的系統(tǒng)存儲(chǔ)過程---------------
execute sp_databases--查看服務(wù)器里的所有數(shù)據(jù)庫(kù)
exec sp_renamedb NetBarDB,abc--重命名數(shù)據(jù)庫(kù)
exec sp_tables--查詢出當(dāng)前環(huán)境下的對(duì)象列表
exec sp_columns cardInfo--查詢指定表中列的信息

------------存儲(chǔ)過程語(yǔ)法------------------
create procedure 存儲(chǔ)過程名稱?? --procedure可以用proc代替
?? ?@參數(shù)1 數(shù)據(jù)類型=默認(rèn)值 output,--output表示輸出參數(shù),注意:定義存儲(chǔ)過程參數(shù)不需要declare
?? ?@參數(shù)2 數(shù)據(jù)類型,?? ??? ??? ??? ?--沒output表示輸入?yún)?shù)
?? ?.......
as
?? ?--存儲(chǔ)過程主體部分(T-SQL語(yǔ)句)
go

--------------簡(jiǎn)單查詢的存儲(chǔ)過程--------------------
create proc proc_selectPCinfo
as
?? ?select * from PCInfo
go
exec proc_selectPCinfo --執(zhí)行存儲(chǔ)過程

--------------無(wú)參的存儲(chǔ)過程--------------------------
--完成:PCuse=0的計(jì)算機(jī)信息
create proc proc_selectPCinfo2
as
?? ?select * from PCInfo where PCUse=0
go
exec proc_selectPCinfo2

-----------------帶輸入?yún)?shù)的存儲(chǔ)過程------------------
--完成:根據(jù)參數(shù)值來查詢不同狀態(tài)的計(jì)算機(jī)信息
create? proc proc_selectPCinfoByPCuse
?? ?@PCuse int
as
?? ?select *,
?? ??? ?case
?? ??? ?when PCUse=0 then '空閑'
?? ??? ?when PCUse=1 then '正在使用'
?? ??? ?end as 使用狀態(tài)
?? ?from PCInfo where PCUse=@PCuse
go
--執(zhí)行帶參數(shù)的存儲(chǔ)過程(建議使用第二種)
exec proc_selectPCinfoByPCuse 1
exec proc_selectPCinfoByPCuse @PCuse=1
--注意:
exec proc_selectPCinfoByPCuse --出錯(cuò),因?yàn)闆]提供參數(shù)值

-------------------輸入?yún)?shù)有默認(rèn)值的存儲(chǔ)過程-----------------------
--特點(diǎn):當(dāng)調(diào)用存儲(chǔ)過程沒有提供參數(shù)值時(shí),參數(shù)會(huì)使用默認(rèn)值
--完成:改寫上面的存儲(chǔ)過程,當(dāng)執(zhí)行存儲(chǔ)過程沒提供參數(shù)值,就會(huì)查詢空閑狀態(tài)的計(jì)算機(jī)信息
create? proc proc_selectPCinfoByPCuseHasDefault
?? ?@PCuse int=0 --有默認(rèn)值的參數(shù)
as
?? ?select *,
?? ??? ?case
?? ??? ?when PCUse=0 then '空閑'
?? ??? ?when PCUse=1 then '正在使用'
?? ??? ?end as 使用狀態(tài)
?? ?from PCInfo where PCUse=@PCuse
go
exec proc_selectPCinfoByPCuseHasDefault?? --查PCuse為0(沒提供參數(shù)值就使用默認(rèn)值)
exec proc_selectPCinfoByPCuseHasDefault 1 --查PCuse為1

-------------帶輸出參數(shù)的存儲(chǔ)過程------------------
--完成:根據(jù)卡號(hào)查余額,然后判斷是否能上機(jī)
create proc proc_getBalanceByCardNumber
?? ?@CardNum varchar(20),
?? ?@balance int output--輸出參數(shù)
as?? ?
?? ?select @balance=CardBalance from cardInfo where CardNumber=@CardNum
go
--調(diào)用帶輸出參數(shù)的存儲(chǔ)過程
declare @money int
exec proc_getBalanceByCardNumber @CardNum='023-001',@balance=@money output --調(diào)用存儲(chǔ)過程時(shí),輸出參數(shù)一定要加output
if(@money>=2)
begin
?? ?print '可以上機(jī)'
end
else
begin
?? ?print '余額不足2元,請(qǐng)先充值'
end

--刪除存儲(chǔ)過程
if exists(select * from sysobjects where name='proc_getBalanceByCardNumber')
begin
?? ?drop proc proc_getBalanceByCardNumber
end

--------------------return的使用-----------------------
--完成:獲取新增電腦的編號(hào)
--方法一:使用輸出參數(shù)
if exists(select * from sysobjects where name='proc_getAddPCid')
begin
?? ?drop proc proc_getAddPCid
end
go
create proc proc_getAddPCid
?? ?@pcid int output
as
?? ?insert into PCInfo values(0,'新增的計(jì)算機(jī)')
?? ?set @pcid=@@IDENTITY
go
declare @id int
exec proc_getAddPCid @pcid=@id output
print convert(varchar,@id)

--方法二:使用return
if exists(select * from sysobjects where name='proc_getAddPCid')
begin
?? ?drop proc proc_getAddPCid
end
go
create proc proc_getAddPCid
as
?? ?insert into PCInfo values(0,'新增的計(jì)算機(jī)')
?? ?return @@identity
go
declare @id int
exec @id=proc_getAddPCid
print convert(varchar,@id)
--注意:使用return只能返回一個(gè)結(jié)果,使用輸出參數(shù)可以返回多個(gè)結(jié)果

-----------------return---------------------
--完成:充值
if exists(select * from sysobjects where name='proc_addBalance')
begin
?? ?drop proc proc_addBalance
end
go
create proc proc_addBalance
?? ?@cardNum nvarchar(50),
?? ?@cardBalance int
as
?? ?if not exists(select * from cardInfo where CardNumber=@cardNum)
?? ?begin
?? ??? ?print '卡號(hào)不存在!'
?? ??? ?return
?? ?end
?? ?if(@cardBalance<=0)
?? ?begin
?? ??? ?print '充值金額不大于0,無(wú)法充值!'
?? ??? ?return
?? ?end
?? ?update cardInfo set CardBalance=CardBalance+@cardBalance
?? ?where CardNumber=@cardNum
?? ?declare @errorNum int--聲明一個(gè)變量,存儲(chǔ)錯(cuò)誤值,用來判斷sql語(yǔ)句是否執(zhí)行成功
?? ?set @errorNum=0
?? ?set @errorNum = @@ERROR
?? ?if(@errorNum>0)
?? ?begin
?? ??? ?print '充值失敗!'
?? ?end
?? ?else
?? ?begin
?? ??? ?print '充值成功!'
?? ?end
go
exec proc_addBalance @cardNum='023-001',@cardBalance=10

----------------raiserror的使用-----------------------
--完成:完善上例
if exists(select * from sysobjects where name='proc_addBalance')
begin
?? ?drop proc proc_addBalance
end
go
create proc proc_addBalance
?? ?@cardNum nvarchar(50),
?? ?@cardBalance int
as
?? ?if not exists(select * from cardInfo where CardNumber=@cardNum)
?? ?begin
?? ??? ?raiserror('卡號(hào)不存在!',16,1) with log--with log用于將錯(cuò)誤寫入系統(tǒng)日志中(我的電腦->管理->系統(tǒng)工具->事件查看器->Windows日志->應(yīng)用程序)
?? ??? ?print convert(varchar,@@error)--輸出50000,原因:@@error的值會(huì)受raiserror的影響
?? ??? ?return
?? ?end
?? ?if(@cardBalance<=0)
?? ?begin
?? ??? ?raiserror('充值金額不大于0,無(wú)法充值!',16,1)
?? ??? ?return
?? ?end
?? ?update cardInfo set CardBalance=CardBalance+@cardBalance
?? ?where CardNumber=@cardNum
?? ?declare @errorNum int--聲明一個(gè)變量,存儲(chǔ)錯(cuò)誤值,用來判斷sql語(yǔ)句是否執(zhí)行成功
?? ?set @errorNum=0
?? ?set @errorNum = @@ERROR
?? ?if(@errorNum>0)
?? ?begin
?? ??? ?raiserror('充值失敗!',16,1)
?? ?end
?? ?else
?? ?begin
?? ??? ?raiserror('充值成功!',11,1)
?? ?end
go
exec proc_addBalance @cardNum='023-101',@cardBalance=10

存儲(chǔ)過程,非常重要


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 久久精品国产99久久6动漫亮点 | 亚洲日本天堂在线 | 香蕉综合视频 | 一区二区三区成人 | 久久久国产视频 | 亚洲狠狠丁香婷婷综合久久久 | 欧美一二三区在线 | 97成人网在线碰碰碰 | 日本一级特黄视频 | 欧美视频a | www.久久久.com | 欧美性高清bbbbbbxxxxx | 二区三区不卡不卡视频 | 亚洲精品婷婷无码成人A片在线 | 四虎永久 | 免费在线黄色电影 | 天天干网| 亚洲综合日韩欧美一区二区三 | 欧美成人精品一区二区三区 | 免费一级毛片麻豆精品 | 久久亚洲成人网 | 亚洲欧美一区二区三区国产精品 | 日韩18在线观看地址 | 青青久久久国产线免观 | 亚洲精品第一国产综合高清 | 一区二区三区四区亚洲 | av看片网站 | 日韩黄色一级大片 | 欧美精品福利 | 午夜寂寞影视在线观看 | 一级黄色大毛片 | 日本理论片中文在线观看2828 | 欧美电影网 在线电影 | 成人免费网视频 | 天天插天天射天天干 | 日本在线观看视频网站 | 国产男女免费完整版视频 | 国产精品美女久久久久久免费 | 日韩欧美一区二区三区久久 | 亚洲欧美视频在线播放 | 久久久99精品免费观看 |