SQL (一)定义变量以及变量赋值

 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语句后面要跟beginend,相当于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语句后面的程序体一定记得加beginend

如果涉及到修改数据库中内容的时候,最好是在程序前面加begin tran后面加rollback,如果出现程序错误以便进行回滚操作

原文地址:https://www.cnblogs.com/woniu-net/p/4770312.html