电竞比分网-中国电竞赛事及体育赛事平台

分享

SQL (一)定義變量以及變量賦值

 有恒LWJ 2020-03-17

 1.定義變量:declare @name varchar(20)  declare定義一個(gè)名字為name的字符串類型的變量,變量前面需要加@

2.為變量賦值:set @name = '%奧迪%' ,用set來(lái)進(jìn)行賦值操作(也可以用select)這里的值可以是一個(gè)值也可以是從數(shù)據(jù)庫(kù)中查詢出的值或表達(dá)式

3.編程:declare @name varchar(20)

set @name = '%奧迪%'

select * from car where name like @name

這三條語(yǔ)句就可以從car表中選出名字中含奧迪的車

 

定義一個(gè)名字為avg的變量,查詢出所有車的價(jià)格平均值賦給avg,輸出的時(shí)候字符串和小數(shù)類型不能一起打印,所以要用cast來(lái)轉(zhuǎn)換為字符串類型的

declare @avg float
select @avg = avg(price) from car
print '所有汽車的平均價(jià)格是:'+cast(@avg as varchar(20))

 

if語(yǔ)句,if語(yǔ)句后面要跟beginend,相當(dāng)于cshap里面的大括號(hào)

declare @find varchar(20)
set @find='寶馬'
if(@find='寶馬')
begin
 print '寶馬汽車'
 select * from Car where name like '%'+@find+'%' 
end
else 
begin
 print '其它汽車'
 select * from Car
end

定義購(gòu)買數(shù)量,和需要購(gòu)買的水果名字,將庫(kù)存放到變量kc里面,判斷如果購(gòu)買數(shù)量小于庫(kù)存就可以購(gòu)買

并且將數(shù)據(jù)庫(kù)內(nèi)的numbers減去購(gòu)買掉的數(shù)量,并且顯示出來(lái)

else如果購(gòu)買數(shù)量大于庫(kù)存就顯示庫(kù)存不足

declare @buycount int,@fruitname varchar(20)
set @buycount = 80
set @fruitname = '菠蘿'

declare @kc int
select @kc = numbers from fruit where 
update fruit set numbers = 
numbers-@buycount where name=@fruitname
select * from fruit where 
end

在數(shù)據(jù)庫(kù)的編程中while循環(huán)一般用不到,因?yàn)閿?shù)據(jù)庫(kù)對(duì)數(shù)據(jù)的操作是以集合形式的操作,不需要循環(huán)來(lái)做,在if語(yǔ)句后面的程序體一定記得加beginend

如果涉及到修改數(shù)據(jù)庫(kù)中內(nèi)容的時(shí)候,最好是在程序前面加begin tran后面加rollback,如果出現(xiàn)程序錯(cuò)誤以便進(jìn)行回滾操作

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多