前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【SQL Server】变量的使用

【SQL Server】变量的使用

作者头像
MaybeHC
发布2024-04-23 18:27:28
1570
发布2024-04-23 18:27:28
举报
文章被收录于专栏:技术之路

变量的分类

局部变量:(仅在过程中使用) 局部变量必须标记@作为前缀,如@age。 局部变量的使用也是先声明(使用declare),再赋值。 全局变量:(任何时候均可以使用) 全局变量必须以标记@@作为前缀,如@@version. 全局变量由系统定义和维护,我们只能读取,不能修改全局变量值。

局部变量定义与赋值

局部变量的定义语法 DECLARE @变量名 数据类型 赋值方法 SET @变量名 = 值 或 SELECT @变量名 = 值

使用select赋值确保筛选出的记录只有一条

场景示例

下面以一个场景来使用定义变量,有如下的一个表结构,表名称为Students,现在要查询李铭及其学号相邻的学员。

这里写图片描述
这里写图片描述
代码语言:javascript
复制
use StudentManageDB 
go 
declare @stuid int,@stuname varchar(20)
--查询李铭的信息
set @stuname = '李铭'
select StudentId,StudentName,Gender,StudentIdNo from Students
where StudentName = @stuname
--查询李铭的学号
select @stuid =StudentId from Students where StudentName = @stuname
--查询与李铭学号相邻的学员
select StudentId,StudentName,Gender,StudentIdNo from Students
where StudentId =(@stuid+1) or StudentId=(@stuid-1)

查询结果

这里写图片描述
这里写图片描述

SET和SELECT比较

使用场景

set

select

同时对多个变量赋值

不支持

支持

表达式返回多个值时

出错

将返回的最后一个值赋给变量

表达式未返回值时

变量被赋NULL值

变量保持原值

全局变量的使用

变量

含义

@@ERROR

最后一个T-SQL错误的错误号

@@IDEENTITY

最后一次插入的标识值

@@LANGUAGE

当前使用的语言的名称

@@MAX_CONNECTIONS

可以创建的同时连接的最大数目

@@ROWCOUNT

受上一个SQL语句影响的行数

@@SERVERNAME

本地服务器的名称

@@TRANSCOUNT

当前连接打开的事务数

@@VERSION

SQLServer的版本信息

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-04-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 变量的分类
  • 局部变量定义与赋值
  • 场景示例
  • SET和SELECT比较
  • 全局变量的使用
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档