分类:
sql编程:标准的sql 编程 * 纯sql
在标准的编程中又分为 sqlserver-->T-sql oracle-->pl-sql(扩展)
变量:
在使用变量之前先定义 声明变量sql 格式: declare 变量名 数据类型
变量的分类:局部变量 全部变量局部变量:由程序员定义在一个程序内部使用的所有的局部变量名都必须以@符最为前缀//例子declare @num nvarchar(5)一个 declare 可以定义多个变量 用,隔开
2.为变量赋值=变量值a.set 变量名这次赋值的方式一次只能给一个值赋值+:如果运算的对象都是文本进行连接运算 如果有任何一
个为数值默认进行相加运算例:print '姓名'+@name类型转换:convert(目标类型,转换的数据)例:print '年龄'+convert(nvarchar,@age)case(转换的数据 as 目标类型)例:print '年龄'+cast(@age as varchar)//注意:print 只能一项项的输出 而select能输出多个值 注意//可以用中间值替换法来解决替换问题例子:declare @a int, @b int,@c intset @a=4set @b=3set @c=6select @a,@b,@cset @a=@cset @b=@aselect @a,@b//可以将所有的set 替换成select 输出的结果依旧是和set一样select赋的值经常来源于一个操作必须保证查询的结果是单个值例: declare @sex varchar(2),@name varchar(3) select @sex=sex,@name=name from students where id=13 print '客户性别'+@sex print '客户名称'+@name嵌套子查询:例:查出某个成绩的平均分1.首先窗机一 avg 个as 平均成绩表2.再查询分数 就首先要筛选出id出来 在信息的表的总表中查出id 3.找出id之前通过名字找到id 并且查出考试日期4.查询最后一次的考试日子 查出他的最大值就是他最近的日期5.并且查出id并且得到最近的日期三:
if else 语句 条件可以加()也可以不加sql中的代码语句块:begin:......end 相当于c#{}没有switch语句casewhen 条件一 then 结果一 //表达式 并非语句 表示:值
when 条件二 then 结果二 3、循环体 条件begin
循环体
end
按照条件的依次顺序依次匹配,从多个值中选择一个值作为整个表达式的结果//一般是和游标结合在一起使用 全局变量:能访问它的值但是不能修改 所有程序公用的变量
常用的全局变量:
所有的变量名都是以@@ 作为前缀1.@@ERROR:存储最近一次T-SQL语句执行后的错误号我们可以通过@@error 中的值判断刚刚执行的T-SQL 是否执行成功如果执行成功呢则改变量的值是0 否则>02.@@IDENTITY:存储的最近一次insert语句执行的后产生的标识值3.@@ROWCOUNT:存储最近一次T-sql执行后影响的行数4.@@servername:获取数据库服务器名称5.@@version:获取当前数据库的版本号例:1
declare @name int
set @name=12casewhen @name>10 then ''
when @name>23 thenend
例:2
declare @id int select @id=id from students where name='yuyu'if(@id=10)print '查询成功'elseprint '查询失败'
例: 1-100之和 declare @i int declare @b intset @b=1set @i=0while @i<=100begin
set @b=@b+@i
set @i=@i+1endprint @b