🚀 个人主页 极客小俊
✍🏻 作者简介:程序猿、设计师、技术分享
🐋 希望大家多多支持, 我们一起学习和进步!
🏅 欢迎评论 ❤️点赞💬评论 📂收藏 📂加关注

概述
如果你有编程基础,对变量这个概念一定不会陌生,变量也就是在代码运行过程中可变的一个量!
其实在我们SQL操作中也可以实现变量存储! 其中就要用到我们今天要说的DECLARE和SET 关键字
DECLARE和SET是两个在SQL操作中非常重要的关键字,主要用于在存储过程、触发器中操作和处理变量
我们也可以把它们单独拿出来给大家进行演示讲解一下!
DECLARE 关键字
定义
DECLARE关键字用于在SQL语句中创建或者声明一个变量
在所有编程开发中,变量这个概念是一个存储数据的容器,我们可以给它赋值,然后在后续的SQL语句中调用这个变量
声明变量语法规则
DECLARE @变量名称 指定数据类型;
例如
DECLARE @test INT;
如图

这行代码声明了一个名为@test的变量,它的类型是int(整数)
注意 📣
在SQL Server 2000中,使用DECLARE语句声明一个变量时,变量名前面必须加上@符号。
这个@符号是SQL Server中变量的前缀,用于区分变量和列名、表名等其他数据库对象的!
比如 DECLARE @test INT; 这行代码声明了一个名为@test的整型变量。
如果我们不写@符号的情况下, 那么比如写成DECLARE MyVariable INT; 那么SQL Server会报错,因为它无法识别这是一个变量声明
并且在后续的SQL语句中,当引用这个变量时,也需要加上@符号!
所以说@符号在SQL Server中的变量声明和使用是必须要加上的,大家注意一下! 📣📣
SET 关键字
定义
SET关键字是用来给变量赋值用的, 在我们使用DECLARE声明了一个变量之后,就需要用SET来给这个变量赋予一个具体类型的值!
语法规则
SET @变量名= 值;
例如 我们定义一个整型的变量,并且给这个变量赋值100,然后直接使用SELECT进行查看!
如下
DECLARE @test INT;
SET @test = 100;
SELECT @test AS '变量值为';
如图

怎么样,在SQL中定义和赋值变量是不是很简单! 在后面我们讲解存储过程、触发器的时候,还会使用到!
特别注意
如果我们需要重新给一个已经声明并赋值过的变量再次进行赋值,那么必须再次使用SET关键字
变量在SQL中是可以被重新赋值的,可以根据需要改变它的值!
比如
DECLARE @city VARCHAR(20);
SET @city = '北京市';
SET @city = '重庆市';
SELECT @city AS '变量值为';
如图

所以我们每次使用SET给一个变量赋值时,都会覆盖该变量之前的值!
在重新赋值之前,先保证这个变量已经被声明, 如果给一个未声明的变量赋值,那么SQL Server会抛出一个错误!
应用场景
我们可以结合CASE语句来判断一下我们定义的变量,然后在SQL输出!
例如
现在有一个变量@Age,并且想根据它的值来设置另一个变量@AgeGroup的值
我们现在来使用CASE语句结合DECLARE和SET关键字来实现!
如下
DECLARE @Age INT;
DECLARE @AgeGroup VARCHAR(20);
--初始化@Age变量
SET @Age = 35;
-- 使用CASE语句设置@AgeGroup变量的值
SET @AgeGroup = CASE
WHEN @Age < 18 THEN '未成年人'
WHEN @Age BETWEEN 18 AND 30 THEN '年轻人'
WHEN @Age BETWEEN 31 AND 50 THEN '中年人'
WHEN @Age > 50 THEN '老年人'
ELSE '未知' -- 可选的,用于处理未明确涵盖的情况
END;
-- 输出结果
SELECT @Age AS '年龄', @AgeGroup AS '年龄分类';
如图

代码分析
我们首先声明了两个变量:@Age和@AgeGroup然后我们给@Age赋了一个初始值方便后期做判断!
接下来使用CASE语句来根据@Age的值去设置@AgeGroup的值, 最后我们使用SELECT语句来输出这两个变量的结果, 其实这就跟写编程开发代码一样的逻辑!
另外虽然 DECLARE 和SET关键字通常也不会不直接包含在 SELECT、INSERT、UPDATE、DELETE 语句中进行使用,但是它们在数据操作过程中非常有用,特别是在需要动态构建查询或事务处理时, 通过声明和赋值变量就可以使SQL代码更加灵活,在以后的实际开发中,我们也会慢慢的去摸索和学习,用多了自然就熟能生巧了!


"👍点赞" "✍️评论" "收藏❤️"
欢迎一起交流学习❤️❤️💛💛💚💚

好玩 好用 好看的干货教程可以
点击下方关注❤️
微信公众号❤️
说不定有意料之外的收获哦..🤗嘿嘿嘿、嘻嘻嘻🤗!
🌽🍓🍎🍍🍉🍇


SQL中DECLARE与SET关键字使用教程

1004

被折叠的 条评论
为什么被折叠?



