变量分为:
->局部变量:
•局部变量必须以标记@作为前缀 ,如@Age int
•局部变量:先声明,再赋值
1 -- 语法:声明一个变量,然后赋值,打印出来
2 -- 第一步
3 declare @变量名 nvarchar(10);
4 -- 第二步
5 set @变量名 = '介似一个变量';
6 -- 第三步
7 select @变量名 as name;
1 -- 在赋值的时候可以使用"select查询"
2 -- select 变量=字段 from ...
3 use TestDataBase;
4 declare @count int;
5 select @count = COUNT(*) from Student;
6 select @count as 总数;
1 -- SQL Server 2008 开始引入了声明变量即可赋值的语法
2 declare @n nvarchar(10) = '一个例子';
3 select @n;
->全局变量(系统变量):
•全局变量必须以标记@@作为前缀,如@@version
•全局变量由系统定义和维护,我们只能读取,不能修改全局变量的值
变量 | 含义 |
@@ERROR | 最后一个T-SQL错误的错误号 |
@@IDENTITY | 最后一次插入的标识值 |
@@LANGUAGE | 当前使用的语言的名称 |
@@MAX_CONNECTIONS | 可以创建的同时连接的最大数目 |
@@ROWCOUNT | 受上一个SQL语句影响的行数 |
@@SERVERNAME | 本地服务器的名称 |
@@TRANSCOUNT | 当前连接打开的事务数 |
@@VERSION | SQL Server的版本信息 |
在数据库中流程控制有选择与循环
选择的语法:
IF(条件表达式)
BEGIN --相当于C#里的{
语句1 ……
END --相当于C#里的}
ELSE
BEGIN
语句1
……
END
1 /*
2 if(bool表达式)
3 begin
4 表达式为真的时候执行
5 end
6 else
7 begin
8 表达式为假的时候执行
9 end
10 */
11
12 declare @num int;
13 set @num = 11;
14 if(@num > 10)
15 begin
16 select '数字大于10';
17 end
18 else
19 begin
20 select '数字小于等于10';
21 end
22 go
循环的语法:
WHILE(条件表达式)
BEGIN --相当于C#里的{
语句
……
continue
BREAK
END --相当于C#里的}
1 -- 循环的语法
2 /*
3 while(bool表达式)
4 begin
5 循环体
6 end
7 */
8
9 declare @i int;
10 declare @sum int;
11 set @i = 0;
12 set @sum = 0;
13
14 while(@i <= 100)
15 begin
16 set @sum = @sum + @i;
17 set @i = @i + 1;
18 end
19
20 select @sum;
21 go
22
23 -- 求1到100中所有偶数的和
24
25 declare @i int;
26 declare @sum int;
27 set @i = 0;
28 set @sum = 0;
29 while(@i <= 100)
30 begin
31 if(@i % 2 = 0)
32 begin
33 set @sum = @sum + @i;
34 end
35 set @i = @i + 1;
36 end
37 select @sum;
break,continue用法: