📣读完这篇文章里你能收获到

  • 了解SQLServer中变量的分类、定义及赋值
  • 学会通过Set和Select赋值
  • 提供实际操作的案例SQL脚本

文章目录

  • 一、数据库变量的分类
  • 二、变量的定义及赋值
  • 三、Set和Select赋值的区别
  • 四、系统全局变量清单
  • 五、案例代码
    • 示例1:局部变量的使用
    • 示例2:set与select比较
    • 示例3:全局变量示例

一、数据库变量的分类

二、变量的定义及赋值

三、Set和Select赋值的区别

  • 【通常都采用Select,需保证只有一个查询结果】

四、系统全局变量清单


五、案例代码

示例1:局部变量的使用


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)

示例2:set与select比较

	
	declare @stuAddress nvarchar(100) , @stuName nvarchar(100)
	--set @stuAddress='天津', @stuName='张三'                            --不允许这样赋值
	select @stuaddress='天津', @stuName='王小虎'             --允许

	--set @stuAddress = (select StudentAddress from Students)  --不允许
	select @stuAddress = StudentAddress from Students    --得到最后一个
	set @stuAddress = (select StudentAddress from Students where 1<0) --NULL值
	select @stuAddress =  StudentAddress from Students where 1<0        --保持原值

示例3:全局变量示例


PRINT  '服务器的名称: ' + @@SERVERNAME  
PRINT 'SQL Server的版本' + @@VERSION 
  
SELECT  @@SERVERNAME  AS  '服务器名称'
SELECT  @@VERSION  AS  'SQL Server的版本' 



use StudentManageDB
go
--插入学员信息
insert into Students (StudentName,Gender,Age,Birthday,StudentIdNo,
PhoneNumber,StudentAddress,ClassId)
values('王小欣','男',28,'1988-08-07',120223198808071111,
'022-22222222','天津市南开区',10)

--获取最后一条SQL语句的执行错误号
print @@error

更多推荐

『SQLServer系列教程』——数据库局部/全局变量的使用