程序员

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

作者:admin 2021-04-13 我要评论

1、概述 SQLServer变量对应内存中的一个存储空间。它和常量不同,变量的值可以在执行过程中改变。 2、分类 SQLServer变量根据作用范围不同主要分为局部变量和全...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

 1、概述

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

2、分类

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

2.1.局部变量

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

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

示例:

  1. -- 定义两个局部变量 
  2. DECLARE @m int,@n int
  3. -- 赋值 
  4. SET @m=9; 
  5. SET @n=1; 
  6. -- 查询 
  7. SELECT @m+@n; 

2.2 全局变量

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

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

3.声明变量

3.1、简单声明

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

  1. DECLARE @name nvarchar(30); 

3.2 声明多个变量

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

  1. DECLARE @Name nvarchar(30), @Age int

3.3 变量作用域

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

  1. USE DB; 
  2. GO 
  3. DECLARE @Age int
  4. SET @Age = 30; 
  5. GO -- 结束符 
  6. select @Age -- 报错 

4.变量赋值

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

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

示例:

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

本文转载自网络,原文链接:https://www.toutiao.com/a6925392714993287683/

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 四两拨千斤——你不知道的VScode编码Ty

    四两拨千斤——你不知道的VScode编码Ty

  • 我是如何在 Vue 项目中做代码分割的

    我是如何在 Vue 项目中做代码分割的

  • position:sticky 粘性定位的几种巧妙应

    position:sticky 粘性定位的几种巧妙应

  • 从零到一搭建React组件库

    从零到一搭建React组件库

腾讯云代理商
海外云服务器