亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

基于SQL中SET與SELECT賦值的區(qū)別詳解

 更新時間:2013年06月05日 17:25:24   作者:  
本篇文章是對SQL中SET與SELECT賦值的區(qū)別進行了詳細的分析介紹,需要的朋友參考下
最近的項目寫的SQL比較多,經常會用到對變量賦值,而我使用SET和SELECT都會達到效果。
那就有些迷惑,這兩者有什么區(qū)別呢?什么時候哪該哪個呢?
經過網上的查詢,及個人練習,總結兩者有以下幾點主要區(qū)別:
假定有設定變量:
復制代碼 代碼如下:

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

相關文章

  • MySQL高可用MMM方案安裝部署分享

    MySQL高可用MMM方案安裝部署分享

    這篇文章主要介紹了MySQL高可用MMM方案安裝部署方法,需要的朋友可以參考下
    2014-02-02
  • 一文搞懂MySQL XA如何實現分布式事務

    一文搞懂MySQL XA如何實現分布式事務

    MySQL如何實現多個MySQL數據庫更新的一致性呢?那就是MySQL XA,本文就來介紹一下MySQL XA如何實現分布式事務,具有一定的參考價值,感興趣的可以了解一下
    2021-11-11
  • MYSQL插入處理重復鍵值的幾種方法

    MYSQL插入處理重復鍵值的幾種方法

    當unique列在一個UNIQUE鍵上插入包含重復值的記錄時,默認insert的時候會報1062錯誤,MYSQL有三種不同的處理方法,下面我們分別介紹。
    2012-09-09
  • Linux安裝mysql并配置外網訪問的實例

    Linux安裝mysql并配置外網訪問的實例

    今天小編就為大家分享一篇Linux安裝mysql并配置外網訪問的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • MySql UNION 一行轉多列的實現示例

    MySql UNION 一行轉多列的實現示例

    在MySQL命令行中,有時候我們會遇到一行的數據需要以多列的形式呈現的情況,本文就詳細介紹了一下一行轉多列的實現示例,具有一定的參考價值,感興趣的可以了解一下
    2023-08-08
  • mysql 1130錯誤,無法登錄遠程服務的解決

    mysql 1130錯誤,無法登錄遠程服務的解決

    這篇文章主要介紹了mysql 1130錯誤,無法登錄遠程服務的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 解決MySQL報錯:You?can‘t?specify?target?table?‘region‘?for?update?in?FROM?clause

    解決MySQL報錯:You?can‘t?specify?target?table?‘region‘?for?

    這篇文章主要給大家介紹了關于MySQL報錯:You?can‘t?specify?target?table?‘region‘?for?update?in?FROM?clause的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • mac系統OS X10.10版本安裝最新5.7.9mysql的方法

    mac系統OS X10.10版本安裝最新5.7.9mysql的方法

    這篇文章給大家介紹mac系統OS X10.10版本安裝最新5.7.9mysql的方法,本文分步驟純文字說明,介紹的非常詳細,具有參考價值,在此分享供大家參考
    2015-10-10
  • Mysql避免重復插入數據的4種方式

    Mysql避免重復插入數據的4種方式

    這篇文章主要介紹了Mysql避免重復插入數據的4種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • mysql 無法聯接常見故障及原因分析

    mysql 無法聯接常見故障及原因分析

    這篇文章主要介紹了mysql 無法聯接常見故障及原因分析,本文是小編日常收集整理的,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-11-11

最新評論