sql中的set
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
指的就是这个输出。