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

网友投稿 934 2023-05-25

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

数据库知识: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的版本信息

DECLARE @name nvarchar(30);

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

3.3 变量作用域

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

4.变量赋值

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

示例:

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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:一文终结SQL子查询优化
下一篇:数据库模式:大数据时代下的突破与挑战
相关文章