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

SQLserver中的存储过程的更多相关文章

  1. sqlserver中的存储过程 函数 事物 索引及视图

                                           存储过程和函数具体的区别: 核心提示:本质上没区别.只是函数有限制只能返回一个标量,而存储过程可以返回多个.并且函数是可以 ...

  2. SQLServer中系统存储过程sp_spaceused

    sp_spaceused 执行sp_spaceused存储过程的时候可以不用带参数,直接执行,或者exec sp_spaceused都可以,返回两个结果集: 列名 数据类型 描述 database_n ...

  3. 调用sqlserver中的存储过程

    1.存储过程名 string strSQL = "usp_GetUnReturnPassports"; 2.创建数据库对象 database Database db = Datab ...

  4. SQLServer 中的存储过程中判断临时表是否存在,存在则删除临时表

    IF OBJECT_ID('TEMPDB..#BCROSSREFERENCE ') IS NOT NULL DROP TABLE #BCROSSREFERENCE IF OBJECT_ID('TEMP ...

  5. sqlserver中查询存储过程中的字符串

    select name from sysobjects o, syscomments s where o.id = s.id and text like '%querytext%' and o.xty ...

  6. Sqlserver中存储过程,触发器,自定义函数(二)

    Sqlserver中存储过程,触发器,自定义函数: 自定义函数:1.函数类型:2.函数的参数和返回值: 1.函数类型:标量值函数,返回的是一个标量值表值函数:内联表值函数:多语句表值函数. 标量值函数 ...

  7. Sqlserver中存储过程,触发器,自定义函数(一)

    Sqlserver中存储过程,触发器,自定义函数 1.存储过程有关内容存储过程的定义:存储过程的分类:存储过程的创建,修改,执行:存储过程中参数的传递,返回与接收:存储过程的返回值:存储过程使用游标. ...

  8. Sqlserver中存储过程,触发器,自定义函数

    Sqlserver中存储过程,触发器,自定义函数: 1. 触发器:是针对数据库表或数据库的特殊存储过程,在某些行为发生的时候就会被激活 触发器的分类: DML触发器:发生在数据操作语言执行时触发执行的 ...

  9. SqlServer中存储过程中将Exec的执行结果赋值给变量输出

    原文 SqlServer中存储过程中将Exec的执行结果赋值给变量输出 背景: 遇到这样一种情况:动态向存储过程中传入表名和表的某些属性(这里用到的是主键ID),然后利用这两个变量查出一条数据的某些字 ...

  10. SqlServer中存储过程 returnC#代码处理以及对应的MySQL如何改写

    一.SqlServer 中 1. 创建表 create table testuser( id int, --primary key, names ), address ), paw ) ) 2.创建存 ...

随机推荐

  1. 日常Bug排查-连接突然全部关闭

    日常Bug排查-连接突然全部关闭 前言 日常Bug排查系列都是一些简单Bug的排查.笔者将在这里介绍一些排查Bug的简单技巧,同时顺便积累素材. Bug现场 最近碰到一个问题,一台机器上的连接数在达到 ...

  2. C语言:将txt文件的单词导入链表&&删除链表重复单词

    文章目录 前言 主要分为两个实现部分,按个人需求浏览 首先明确几个任务 先过一遍如何操作的流程. ①全局变量和结构体代码部分 ②实现:将文件单词导入链表 a: 寻找txt文件中最长单词的函数 b: 导 ...

  3. Java面试题:Spring框架除了IOC和AOP,还有哪些好玩的设计模式?

    Spring是一个基于Java的企业级应用程序开发框架,它使用了多种设计模式来实现其各种特性和功能.本文将介绍一些在Spring中使用的常见设计模式以及相应的代码示例和说明. 单例模式 单例模式是Sp ...

  4. 4G EPS 中的各种唯一标识

    目录 文章目录 目录 电信运营商的唯一标识:PLMN.MCC 与 MNC 移动用户的唯一标识:IMSI.MSIN 与 MSISDN/MDN 移动用户的唯一临时标识:TMSI.GUTI 与 GUMMEI ...

  5. 在 JS 中使用 canvas 给图片添加文字水印

    实现说明: 1.先通过 new Image() 载入图片: 2.图片加载成功后使用 drawImage() 将图片绘制到画布上: 3.最后使用 fillText() 函数绘制水印. 下面展示了详细用法 ...

  6. Pandas学习之路【1】

    安装pandas: pip install pandas pandas读取数据: 数据类型 读取方式 csv, tsv, txt pd.read_csv Excel pd.read_excel mys ...

  7. UILabel的DrawDrect方法

    一.问题 如果继承UILabel实现自己的一个Label,并且在子类的DrawRect方法中留空,什么都不写,会发生什么? 代码如下: VC @interface ViewController () ...

  8. 关于@synchronized

    一.结论 1)@synchronized内部使用的是recursive_mutex_lock,也就是递归锁,对于统一线程来说,@synchronized加锁的方法可以重复加锁. 比如代码: - (vo ...

  9. nmcli 报错

    首先检查你的网卡设备有没有连接,看一下是不是进主机模式 nmcli connection modify ens32 ipv4.addresses 192.168.10.10/24 因为原本就存在网卡配 ...

  10. C基本知识

    1 C基本数据类型 C基本的数据类型说明: 2 字节序 测试代码: #include <stdio.h> typedef unsigned char *byte_pointer; void ...