MS SQL入门基础:SQL 变量
Transact-SQL中可以使用兩種變量,一種是局部變量(Local Variable)另外一種是全局變量(Global Variable)。
4.4.1 局部變量
局部變量是用戶可自定義的變量,它的作用范圍僅在程序內(nèi)部。在程序中通常用來(lái)儲(chǔ)存從表中查詢到的數(shù)據(jù),或當(dāng)作程序執(zhí)行過(guò)程中暫存變量使用。局部變量必須以“@”開頭,而且必須先用DECLARE命令說(shuō)明后才可使用。其說(shuō)明形式如下:
DECLARE @變量名 變量類型 [@變量名 變量類型…]
其中變量類型可以是SQL Server 2000支持的所有數(shù)據(jù)類型,也可以是用戶自定義的數(shù)據(jù)類型。DECLARE命令的詳細(xì)用法請(qǐng)參見(jiàn)“4.6其它命令”。
在Transact-SQL中不能像在一般的程序語(yǔ)言中一樣使用“變量=變量值”來(lái)給變量賦值。必須使用SELECT或SET命令來(lái)設(shè)定變量的值,其語(yǔ)法如下:
SELECT@局部變量=變量值
SET @局部變量=變量值
例4-5:聲明一個(gè)長(zhǎng)度為10 個(gè)字符的變量“id”并賦值
declare@id char(10)
select@id=‘10010001’
注意:可以在Select命令查詢數(shù)據(jù)時(shí),在Select命令中直接將列值賦給變量。例4-6:查詢編號(hào)為“10010001”的員工和工資,將其分別賦予變量name和wage。
例4-6
use pangu
declare@name char(30)@wage money
select@name=e_name,@wage=e_wage
from employee
where emp_id='10010001'
select@name as e_name,@wage as e_wage
運(yùn)行結(jié)果如下:
e_name e_wage
------------------------------ -----------
張三 8000.0000
注意:數(shù)據(jù)庫(kù)語(yǔ)言和編程語(yǔ)言有一些關(guān)鍵字,關(guān)鍵字是在某一一樣下能夠促使某一操作發(fā)生的字符組合,為避免沖突和產(chǎn)生錯(cuò)誤,在命令表、列、變量以及其它對(duì)象時(shí)應(yīng)避免使用關(guān)鍵字。有關(guān)SQL Server的關(guān)鍵字請(qǐng)參見(jiàn)附錄。
4.4.2 全局變量
全局變量是SQL Server系統(tǒng)內(nèi)部使用的變量,其作用范圍并不局限于某一程序,而是任何程序均可隨時(shí)調(diào)用全局變量通常存儲(chǔ)一些SQL Server的配置設(shè)定值和效能統(tǒng)計(jì)數(shù)據(jù)。用戶可在程序中用全局變量來(lái)測(cè)試系統(tǒng)的設(shè)定值或Transact-SQL命令執(zhí)行后的狀態(tài)值。有關(guān)SQL Server 全局變量的詳細(xì)情況請(qǐng)參見(jiàn)附錄。
注意:全局變量不是由用戶的程序定義的,它們是在服務(wù)器級(jí)定應(yīng)義的。只能使用預(yù)先說(shuō)明及定義的變局變量。引用全局變量時(shí),必須以“@@”開頭。局部變量的名稱不能與全局變量的名稱相同、否則會(huì)在應(yīng)用中出錯(cuò)。
申明
非源創(chuàng)博文中的內(nèi)容均收集自網(wǎng)上,若有侵權(quán)之處,請(qǐng)及時(shí)聯(lián)絡(luò),我會(huì)在第一時(shí)間內(nèi)刪除.再次說(shuō)聲抱歉!!!
博文歡迎轉(zhuǎn)載,但請(qǐng)給出原文連接。
總結(jié)
以上是生活随笔為你收集整理的MS SQL入门基础:SQL 变量的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 如何连接tplink无线路由器路由器如何
- 下一篇: 最佳颜色搭配