zoukankan      html  css  js  c++  java
  • 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,如果出现程序错误以便进行回滚操作

  • 相关阅读:
    转载:SuperMap 网络带宽对B/S项目的影响有多大?如何计算所需要的带宽?
    转载:使用JWT做用户登陆token校验
    转载:互联网在线地图平台对比分析
    jmeter计时器讲解
    ReactNative setNativeProps
    关于xxx.h file not found 的问题
    注册推送通知
    ios ViewController present不同的方向
    ReactNative常见报错
    ios 后台模式
  • 原文地址:https://www.cnblogs.com/woniu-net/p/4770312.html
Copyright © 2011-2022 走看看