當前位置:首頁 » 編程語言 » 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 13:24:51 瀏覽:609
php獲取上一月 發布:2025-05-14 13:22:52 瀏覽:88
購買雲伺服器並搭建自己網站 發布:2025-05-14 13:20:31 瀏覽:688
sqlserver建立視圖 發布:2025-05-14 13:11:56 瀏覽:484
搭建httpsgit伺服器搭建 發布:2025-05-14 13:09:47 瀏覽:255
新電腦拿回來我該怎麼配置 發布:2025-05-14 13:09:45 瀏覽:240
視頻伺服器新建ftp用戶 發布:2025-05-14 13:03:09 瀏覽:225
php花生 發布:2025-05-14 12:54:30 瀏覽:550
java人才 發布:2025-05-14 12:29:10 瀏覽:649
如何打開軟密碼 發布:2025-05-14 12:28:55 瀏覽:427