当前位置:首页 » 编程语言 » sql中的set

sql中的set

发布时间: 2022-08-20 19:44:40

1. sql中的set和select赋值方式的区别

最近的项目写的SQL比较多,经常会用到对变量赋值,而我使用SET和SELECT都会达到效果。
那就有些迷惑,这两者有什么区别呢?什么时候哪该哪个呢?
经过网上的查询,及个人练习,总结两者有以下几点主要区别:
假定有设定变量:
复制代码 代码如下:
DECLARE @VAR1 VARCHAR(1)
DECLARE @VAR2 VARCHAR(2)
1、SELECT可以在一条语句里对多个变量同时赋值,而SET只能一次对一个变量赋值,如下:

复制代码 代码如下:
SELECT @VAR1='Y',@VAR2='N'
-- 而SET要达到同样的效果,需要:
SET @VAR1='Y'
SET @VAR2='N'
/*
说到这个,SQL内置的变量:@@ERROR 和 @@ROWCOUNT必须要在一句SQL语句中捕获。如果用set分两句来获取它们,将获取不完整,这时就应该用select来获取值。
*/
2、表达式返回多个值时,用SET将会出错,而SELECT将取最后一个值,如下:

复制代码 代码如下:
----以下假定Permission表有多个IsRight记录
SELECT @VAR1 = IsRight FROM Permission --将取最后一个值

SET @VAR1 = IsRight FROM Permission --将报错
3、表达式无返回值时,用SET将置变量值为NULL,用SELECT交保持变量值,如下:

复制代码 代码如下:
----以下假定Permission记录为空
SET @VAR1 = '初始值'

SELECT @VAR1 = IsRight FROM Permission --此时@VAR1为'初始值'
SET @VAR1 = (SELECT IsRight FROM Permission) --此时@VAR1为NULL
4、使用标量子查询时,如果无返回值,SET和SELECT一样,都将置为NULL,如下:

复制代码 代码如下:
----以下假定Permission记录为空
SET @VAR1 = '初始值'

SELECT @VAR1 =(SELECT IsRight FROM Permission ) --此时@VAR1为NULL
SET @VAR1 = ( SELECT IsRight FROM Permission) --此时@VAR1为NULL

2. SQL 语句里set是什么意思啊

SET是SQL Server 中对已经定义的变量赋值的方式,经常与update语句一起使用。

语法:UPDATE表名称SET列名称=新值WHERE列名称=某值

例子如下:

update A set name=小张 where name =张三 //将小张的姓名改为张三

update A set name=小王 where name =王五 //将小王的姓名改为王五

参考资料:网络-update

3. SQL中SET和SELECT赋值的区别

set一次只能对一个变量进行赋值
select一次可以对多个变量赋值
set若赋值的查询结果不存在会赋值为null
select若结果不存在不会进行赋值操作,也就是说,会保留上次的变量赋值结果

4. mysql 中的set

set是修改系统参数或者设置变量用的,例如:

--设置字符集为utf8
setGLOBALcharacter_set_server='utf8';

--设置变量等于某个值
set@d=11;

select@d;--此处可查到d的值为11

5. sql server set 语法

updateaseta.机构号=b.机构号
froma
leftjoinbona.机构名称=b.机构名称

6. SQL语句 set

SET是SQL Server 中对已经定义的变量赋值的方式。

示例:

语法:

UPDATE表名称SET列名称=新值WHERE列名称=某值

table1

7. SQL Server中的Set问题:急

set
相当于赋值
。。你这句就相当于赋值 变@date
比如
我们在update的时候一样会用那个到set
就是要把一个
值赋值给一个变量的时候用到的
比如update 表一
set
name
='scl'
其实set就是在提示sql这个是个赋值语句 让编译器知道
然后把
scl的值赋值给name

8. 在SQL语句中,where,from,set分别所指的是什么

where 是限制条件.比如你要查一个表里面男生的数量
就用 where 性别='男'
from 是从哪个表中取数据
比如 从人事档案中查男性
select * from 人事档案 where 性别='男'
set在update中是设置你要更新的项
比如你要更新人事档案中所有的人入职日期为'2009-07-25'
就可以用set 入职日期='2009-07-25'
也可以给变量赋值
比如 declare @a int
set @a = 1
这样@a的值就变成1 了

我是这样理解的.希望能对你有帮助

9. SQL中的SET是什麽意思

set
echo
off
是设置不把输出的结果显示在屏幕上。
echo
指的就是这个输出。

热点内容
莱克发的工资卡密码是多少 发布:2025-05-14 16:57:10 浏览:177
方舟怎么用自己的存档进入别人的服务器 发布:2025-05-14 16:46:25 浏览:876
微博视频高清上传设置 发布:2025-05-14 16:38:41 浏览:548
数据库图书管理设计 发布:2025-05-14 16:33:52 浏览:378
php开发的网页 发布:2025-05-14 16:22:03 浏览:477
服务器内存跑满了怎么回事 发布:2025-05-14 16:21:16 浏览:224
微信qq音乐缓存 发布:2025-05-14 16:16:16 浏览:469
c语言回收内存 发布:2025-05-14 16:16:08 浏览:144
2021国产安卓顶级旗舰买哪个 发布:2025-05-14 16:15:36 浏览:300
linux自学视频 发布:2025-05-14 16:14:49 浏览:256