現在的位置: 首頁 > 數據庫 > 正文

SQLServer變量賦值的方法有哪些

2020年05月20日 數據庫 ⁄ 共 1199字 ⁄ 字號 評論關閉

  SQLServer中對已經定義的SQLServer變量賦值的方式用兩種,分別是SET和SELECT。下面學步園小編來講解下SQLServer變量賦值的方法有哪些?

  SQLServer變量賦值的方法有哪些

  對于這兩種SQLServer變量賦值方式的區別,SQLServer聯機叢書中已經有詳細的說明,但很多時候我們并沒有注意,其實這兩種方式還是有很多差別的。

  SQLServer推薦使用SET而不是SELECT對變量進行賦值。當表達式返回一個值并對一個變量進行賦值時,推薦使用SET方法。

  下面以具體示例來說明問題:

  createtablechinadba1(

  useridint,

  addrvarchar(128)

  )

  go

  insertintochinadba1(userid,addr)values(1,'addr1')

  insertintochinadba1(userid,addr)values(2,'addr2')

  insertintochinadba1(userid,addr)values(3,'addr3')

  go

  表達式返回多個值時,使用SET賦值

  [email protected](128)

  [email protected]=(selectaddrfromchinadba1)

  /*

  --出錯信息為

  SQLServer變量賦值的方法有哪些

  服務器:消息512,級別16,狀態1,行2

  子查詢返回的值多于一個。當子查詢跟隨在=、!=、<、<=、>、>=之后,或子查詢用作表達式時,這種情況是不允許的。

  */

  go

  表達式返回多個值時,使用SELECT賦值[email protected](128)

  [email protected]=addrfromchinadba1

  [email protected]結果集中最后一個addr列的值

  --結果:addr3

  go

  表達式未返回值時,使用SET賦值[email protected](128)

  [email protected]='初始值'

  [email protected]=(selectaddrfromchinadba1whereuserid=4)

  [email protected]

  go

  表達式未返回值時,使用SELECT賦值[email protected](128)

  [email protected]='初始值'

  [email protected]=addrfromchinadba1whereuserid=4

  [email protected]保持原值

  go

  需要注意的是,SELECT也可以將標量子查詢的值賦給變量,假如標量子查詢不返回值,則變量被置為null值。

  此時與使用SET賦值是完全相同的。

  以上就是關于“SQLServer變量賦值的方法有哪些”的內容,希望對大家有用。更多資訊請關注學步園。學步園,您學習IT技術的優質平臺!

抱歉!評論已關閉.

奔驰宝马破解版下载 深圳风采开奖结果视频 云南11选5追号 足球彩票 甘肃十一选五中奖规则 南国彩票论坛七星彩 个人理财产品投资期限 广西快乐十分破解 股票涨跌的宏观原理是什么 幸运28开奖网址 北京pk10计划在线计划 四川金7乐跨度走势图 北京pc蛋蛋下载 黑龙江的快乐十分钟20选八号 在线看股票行情 浙江体彩历史开奖飞鱼 北京快乐8走势图