sql server select和set賦值的區別


  --SQL Server中對已經定義的變量賦值的方式用兩種,分別是 SET 和 SELECT

  --當表達式返回一個值並對一個變量進行賦值時,推薦使用 SET 方法

(1)SELECT可以在一條語句里對多個變量同時賦值,而SET只能一次對一個變量賦值   

    select @para_1 = '1',@para_2 = '2';

    而set要達到同樣的效果,需要:

    set @para_1 = '1'

    set @para_2 = '2'

(2)表達式返回多個值時,用SET將會出錯,而SELECT將取最后一個值

    假設:table_1表有多個sex記錄

    select @para_1 = sex from table_1 --將取最后一個值

    set @para_1 = sex from table_1 --將報錯

(3)表達式無返回值時,用SET將置變量值為NULL,用SELECT變量將保持原值

    假設:table_1表為空

    set @para_1 = '初始值'

    select @para_1 = sex from table_1 --此時@para_1為‘初始值’

    set @para_1 = sex from table_1 --此時@para_1為null

(4)使用標量子查詢時,如果無返回值,SET和SELECT一樣,都將置為NULL

    假設:table_1表為空

    set @para_1 = '初始值'

    select @para_1 = (select sex from table_1) --此時@para_1為null

    set  @para_1 = (select sex from table_1) --此時@para_1為null

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM