1.定義變量:declare @name varchar(20) 用declare定義一個名字為name的字符串類型的變量,變量前面需要加@
2.為變量賦值:set @name = '%奧迪%' ,用set來進行賦值操作(也可以用select)這里的值可以是一個值也可以是從數據庫中查詢出的值或表達式
3.編程:declare @name varchar(20)
set @name = '%奧迪%'
select * from car where name like @name
這三條語句就可以從car表中選出名字中含奧迪的車
定義一個名字為avg的變量,查詢出所有車的價格平均值賦給avg,輸出的時候字符串和小數類型不能一起打印,所以要用cast來轉換為字符串類型的
declare @avg float
select @avg = avg(price) from car
print '所有汽車的平均價格是:'+cast(@avg as varchar(20))
if語句,if語句后面要跟begin和end,相當於cshap里面的大括號
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
定義購買數量,和需要購買的水果名字,將庫存放到變量kc里面,判斷如果購買數量小於庫存就可以購買
並且將數據庫內的numbers減去購買掉的數量,並且顯示出來
else如果購買數量大於庫存就顯示庫存不足
declare @buycount int,@fruitname varchar(20)
set @buycount = 80
set @fruitname = '菠蘿'
declare @kc int
select @kc = numbers from fruit where name=@fruitname
if @buycount < @kc
begin
print '可以購買'
update fruit set numbers = numbers-@buycount where name=@fruitname
select * from fruit where name=@fruitname
end
else
begin
print '庫存不足'
end
在數據庫的編程中while循環一般用不到,因為數據庫對數據的操作是以集合形式的操作,不需要循環來做,在if語句后面的程序體一定記得加begin和end
如果涉及到修改數據庫中內容的時候,最好是在程序前面加begin tran后面加rollback,如果出現程序錯誤以便進行回滾操作