--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
