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语句后面要跟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,如果出现程序错误以便进行回滚操作

posted @ 2014-09-11 17:50  从小学吐槽  阅读(199)  评论(0编辑  收藏  举报