2010-11-12 10:23 佚名 網際網路
字型大小:t
| t
sql server資料庫中set和select都可以對已經定義的變數賦值,其中薦使用set而不是select對變數進行賦值,當表示式返回乙個值並對乙個變數進行賦值時,推薦使用set方法。
sql server變數賦值我們經常會遇到,下面就為您介紹sql server變數賦值的兩種方法,希望可以對您學習sql server變數賦值有所幫助。
sql server中對已經定義的sql server變數賦值的方式用兩種,分別是set和select。
對於這兩種sql server變數賦值方式的區別,sql server 聯機叢書中已經有詳細的說明,但很多時候我們並沒有注意,其實這兩種方式還是有很多差別的。
sql server推薦使用set而不是select對變數進行賦值。當表示式返回乙個值並對乙個變數進行賦值時,推薦使用set方法。
下面以具體示例來說明問題:
create table chinadba1(
userid int ,
addr varchar(128)
) go
insert into chinadba1(userid,addr) values(1,'addr1')
insert into chinadba1(userid,addr) values(2,'addr2')
insert into chinadba1(userid,addr) values(3,'addr3')
go表示式返回多個值時,使用set賦值
declare @addr varchar(128)
set @addr = (select addr from chinadba1)
/* --出錯資訊為
伺服器: 訊息 512,級別 16,狀態 1,行 2
子查詢返回的值多於乙個。當子查詢跟隨在 =、!=、、>= 之後,或子查詢用作表示式時,這種情況是不允許的。
*/ go
表示式返回多個值時,使用select賦值 declare @addr varchar(128)
select @addr = addr from chinadba1
print @addr --結果集中最後乙個 addr 列的值
--結果: addr3
go 表示式未返回值時,使用set賦值 declare @addr varchar(128)
set @addr = '初始值'
set @addr = (select addr from chinadba1 where userid = 4 )
print @addr --null值
go 表示式未返回值時,使用select賦值 declare @addr varchar(128)
set @addr = '初始值'
select @addr = addr from chinadba1 where userid = 4
print @addr --保持原值
go 需要注意的是,select 也可以將標量子查詢的值賦給變數,如果標量子查詢不返回值,則變數被置為 null 值。
此時與使用set賦值是完全相同的。
SQL Server變數賦值的方法
sql server變數賦值我們經常會遇到,下面就為您介紹sql server變數賦值的兩種方法,希望可以對您學習sql server變數賦值有所幫助。sql server中對已經定義的sql server變數賦值的方式用兩種,分別是set和select。對於這兩種sql server變數賦值方式的...
變數的賦值
變數就是儲存可變資料的容器,在php中變數是由 符號和變數名組成,其中變數名的命名規則和識別符號相同 1.變數的賦值 由於php是一種弱語言,變數不需要事先宣告就可以直接進行賦值使用。為此php提供了兩種變數賦值方式 傳值賦值,引用賦值 1 傳值賦值 變數預設總是傳值賦值,將 右邊的資料賦值給左邊的...
變數的賦值
變數名 一經宣告就不可以改變 值是可以改變的 var student wangjairu 給student 重新賦值 以最後一次賦值為主 的作用 賦值 student uangyuchuan 使用變數就近原則 console.log student student 劉浩 變數作用 儲存資料 變數的使...