变量分为:

->局部变量:

•局部变量必须以标记@作为前缀 ,如@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用法: