今天给大家分享SQLServer变量相关介绍,希望对大家能有所帮助!

1、概述

SQLServer变量对应内存中的一个存储空间。它和常量不同,变量的值可以在执行过程中改变。

2、分类

SQLServer变量根据作用范围不同主要分为局部变量和全局变量。

2.1.局部变量

局部变量是用户在程序中定义的变量,它仅在定义的程序范围内有效。局部变量可以用来保存从表中读取的数据,也可以作为临时变量保存计算的中间结果。

注意:局部变量名称的第一个字符必须为一个@。

示例:

-- 定义两个局部变量
DECLARE @m int,@n int;
-- 赋值
SET @m=9;
SET @n=1;
-- 查询
SELECT @m+@n;

2.2 全局变量

全局变量通常以@@开头。这些变量一般都是SQL Server中的系统函数,它们的语法遵循函数的规则。用户可以在程序中使用这些函数测试系统特性和SQL命令的执行情况。常用的全局变量如下:

@@ERROR -- 最后一个SQL错误的错误号
@@IDENTITY -- 最后一次插入的标识值
@@LANGUAGE -- 当前使用的语言的名称
@@MAX_CONNECTIONS -- 可以创建的同时连接的最大数目
@@ROWCOUNT -- 受上一个SQL语句影响的行数
@@SERVERNAME -- 本地服务器的信息
@@TRANSCOUNT -- 当前连接打开的事物数
@@VERSION  -- 查看SQL Server的版本信息

3.声明变量

3.1、简单声明

变量只有在声明后才能使用,可以使用DECLARE语句来声明变量。在声明变量时可以指定变量的数据类型和长度。

DECLARE @name nvarchar(30);

3.2 声明多个变量

声明多个局部变量,需要在定义的局部变量后使跟上一个逗号,然后指定下一个局部变量名称和数据类型。

DECLARE @Name nvarchar(30), @Age int;

3.3 变量作用域

在使用变量时,需要注意变量的作用域。变量具有局部作用域,只在定义它们的批处理或过程中可见。作用域范围从声明变量的地方开始到声明变量的批处理或存储过程的结尾。

USE DB;
GO
DECLARE @Age int;
SET @Age = 30;
GO -- 结束符
select @Age -- 报错

4.变量赋值

在声明变量后,变量值被默认设置为NULL。可以使用SET或SELECT语句。SET是为变量赋值的首选方法。

变量也可以通过选择列表中当前所引用的值赋值。如果在选择列表中引用变量,则它应当被赋以标量值或者SELECT语句应仅返回一行。

示例:

DECLARE @Age int;
-- SELECT语句赋值
SELECT @Age =  age from t_user ORDER BY age desc;-- 返回最后一行的值
select @Age;

IT技术分享社区

个人博客网站:https://programmerblog.xyz

文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基础知识硬件:断路器、接触器、继电器基础知识

数据库知识:SQLServer变量相关知识介绍相关推荐

  1. 公共基础知识:地震相关知识

    公共基础知识:地震相关知识 近几年,我国经常遭受地震灾害的侵扰,有很多无辜的生命及财产因此而受难.那么对于危害我们生命及财产安全的的地震,大家又了解多少呢?下面就和牡丹江中公教育一起了解. 一.地震概 ...

  2. Qt实战案例(29)——利用数据库、TableView等相关知识展示汽车制造商与汽车关系(综合案例)

    目录 一.项目介绍 二.项目基本配置 三.UI界面设计 四.连接数据库模块 五.添加记录功能 六.完整代码 七.效果演示 一.项目介绍 结合SQL数据库.XML以及TableView相关知识,展示汽车 ...

  3. 事业单位 计算机类的专业知识竞赛,电脑相关知识竞赛的试题及答案

    电脑相关知识竞赛的试题及答案 引导语:当今社会电脑越来越普及,人们懂得的电脑知识也在不断提高,以下是小编整理的电脑相关知识竞赛的试题及答案,欢迎参考! 1.在下列存储器中,只能读出,不能写入的是___ ...

  4. 操作系统:Linux环境变量相关知识总结

    Linux是一个多用户的操作系统.多用户意味着每个用户登录系统后,都有自己专用的运行环境.而这个环境是由一组变量所定义,这组变量被称为环境变量.用户可以对自己的环境变量进行修改以达到对环境的要求. 设 ...

  5. 数据库设计基础:数据字典相关知识笔记

    1.数据字典的定义  数据字典(Data Dictionary ,DD)是各类数据描述的集合,它是关于数据库中数据的描述,即元数据,而不是数据本身. 2.数据字典的组成 数据字典主要包括数据项.数据结 ...

  6. 数据库中的存储过程相关知识与语法

    一:存储过程的概念 存储过程(StoreProcedure)是SQLServer中一个重要的数据库对象.-proc 将一些能够完成特定功能或者需要多次使用的功能编写成各个子程序,并将子程序保存在SQL ...

  7. 数据库分表分库相关知识

    分表的方式 垂直分表 垂直分表在日常开发和设计中比较常见,通俗的说法叫做"大表拆小表",拆分是基于关系型数据库中的"列"(字段)进行的.通常情况,某个表中的字段 ...

  8. 免费域名注册的一些知识以及域名解析相关知识

    一.通常免费域名申请的条款(供参考) 1,只提供免费域名申请服务,不提供网页存放空间. 2,网站必须符合中国有关法规,否则本站将禁用其帐号. 3,不得在发送宣传邮件(垃圾邮件)时写本站提供的免费域名. ...

  9. 数据库:SQLServer中GUID用法介绍

    今天给大家分享一下SQLServer中生成GUID的用法. 一.NEWID用法 NEWID()作用是生成无顺序的GUID字符串.用法如下: SELECT NEWID() --生成36位的GUIDSEL ...

最新文章

  1. 编译Hi3516a osdrv目录
  2. 光驱弹不出来怎么办?光驱弹不出来的简易解决办法。
  3. 经典机器学习算法系列3-k近邻算法
  4. TLSNotary中心化预言机(2) 核心功能
  5. linux源码安装必备条件,玩转Linux必备的金钥匙之源码安装mysql
  6. initialization of 'XXX' is skipped by 'case' label
  7. mysql 索引 lt =,当同时使用gt; =和lt; =时如何索引MySQL表?
  8. Bumblebee微服务网关之Url重写
  9. Linux 内核编码风格【转】
  10. 类似collect2: ld returned 1 exit status的错误
  11. OPENWRT传感器实验
  12. 哈夫曼树【最优二叉树】【Huffman】
  13. python socket thread,python实现socket+threading处理多连接的方法
  14. 任正非:无法退休的老人
  15. Java 截取字符串
  16. 【零样本知识蒸馏】(六)NeutIPS 2019:Zero-shot knowledge transfer via adversarial belief matching
  17. 计算机机械硬盘寿命,机械硬盘的寿命
  18. 建站html代码,HTML代码大全
  19. 2011年美國動畫圈薪資調查
  20. android 列表倒计时,Android ListView列表实现倒计时

热门文章

  1. WCF跨域 这可能是由于试图以跨域方式访问服务而又没有正确的跨域策略,或策略不适用于 SOAP...
  2. PrimeTime指南——概述和基本流程
  3. halcon深度学习算子,持续更新
  4. var类型推断关键字
  5. OPENCV回调函数
  6. 【图像处理】——在plt绘制的坐标窗口中,捕获鼠标点,在右下角显示点的坐标
  7. 方差和协方差的数据意义
  8. extern 全局变量在不同的文件使用方法(static)
  9. nohup命令输出日志_逼格高又实用的Linux高级命令,开发运维都要懂
  10. linux要求关闭httpd服务,Apache2.4.4的安装及实现service和chkconfig系统控制httpd开启关闭...