SQL Server编程入门
SQL编程要比Java编程、C#编程简单许多,下面我们直接讲干货21:04:31
使用变量
局部变量
在T-SQL中,局部变量的名称必须以标记@作为前缀。T-SQL的局部变量其实和Java中的局部变量的性质是一样的,只是声明和调用的方式有些区别。
声明局部变量:
declare @StudentNo int 其中的StudentNo是变量名称,是自己设定的。前面的declare是声明变量必须要用到的,不要改变。后面的int则是数据类型。
变量的赋值:
声明了变量就要使用,T-SQL中局部变量赋值有两种方法,分别是使用set语句或select语句。
语法:set @StudentNo = 1 或者 select @StudentNo = 1
set | select | |
同时对多个变量赋值 | 不支持 | 支持 |
表达式返回多个值时 | 出错 | 将返回的最后一个值赋给变量 |
表达式未返回值时 | 变量被赋值为null | 变量保持原值 |
全局变量:
SQL Server中的所有全局变量都使用两个@符号作为前缀。下面列举一些常用的全局变量↓
变量 | 含义 |
@@error | 最后一个T-SQL错误的错误号 |
@@identity | 最后一次插入的标识值 |
@@language | 当前使用的语言的名称 |
@@max_connections | 可以创建的、同时连接的最大数目 |
@@rowcount | 受上一个sql语句影响的行数 |
@@servername | 本地服务器的名称 |
@@servicename | 该计算机上的SQL服务的名称 |
@@timeticks | 当前计算机上每刻度的微秒数 |
@@transcount | 当前连接打开的事物数 |
@@version | SQL Server的版本信息 |
输出语句:
常用的打印输出语句有两种,print语句和select语句,使用select语句输出数据是查询语句的特殊应用。
语法: print 局部变量或字符串
select 局部变量 as 自定义列名
使用print打印时可以使用“+”拼接字符串或者其他变量。但是如果变量类型不同时会报错,需要适当转换类型。
数据类型转换:
类型转换有两个函数:convert(转换到什么类型,表达式,样式)和cast(表达式,转换到什么类型)。这两种函数的不同之处是前者可以设定字符串样式,多用于设定时间。也可不设。
逻辑控制语句
概述:
T-SQL中常用的逻辑控制语句有if判断语句,while循环语句,case分支语句。前两者和Java中的语句不同之处在于:Java中条件后面需要加大括号。如果if后面只有一条语句时也可以不加大括号。
而在T-SQL中,是没有大括号的,是用begin代替‘{’,用end代替‘}’。begin和end在代码中各占单独一行。
而case语句则类似Java中的switch语句。用case代替‘switch’,用when代替‘case’。并且在T-SQL中case语句是没有break的(循环语句则有break和continue)。
case语法:
case
when 条件1 then 结果1
when 条件2 then 结果2
[else 其他结果] --可选
end
至此我们已经基本了解了T-SQL中如何声明和使用变量以及逻辑语句的用法。
ps:新手上路,还望大家多提建议
12-15补充:case结构也很像java中的三目运算。可以从不同的角度去理解。