SQL Server變數賦值的方法

2022-04-01 10:17:46 字數 1451 閱讀 6550

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 變數賦值的方法

2010 11 12 10 23 佚名 網際網路 字型大小 t t sql server資料庫中set和select都可以對已經定義的變數賦值,其中薦使用set而不是select對變數進行賦值,當表示式返回乙個值並對乙個變數進行賦值時,推薦使用set方法。sql server變數賦值我們經常會遇到,...

變數的賦值

變數就是儲存可變資料的容器,在php中變數是由 符號和變數名組成,其中變數名的命名規則和識別符號相同 1.變數的賦值 由於php是一種弱語言,變數不需要事先宣告就可以直接進行賦值使用。為此php提供了兩種變數賦值方式 傳值賦值,引用賦值 1 傳值賦值 變數預設總是傳值賦值,將 右邊的資料賦值給左邊的...

變數的賦值

變數名 一經宣告就不可以改變 值是可以改變的 var student wangjairu 給student 重新賦值 以最後一次賦值為主 的作用 賦值 student uangyuchuan 使用變數就近原則 console.log student student 劉浩 變數作用 儲存資料 變數的使...