資源描述:
《sqlserver2000教程》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、第七章Transact-SQL編程第一節(jié)變量(1)局部變量A.TSQL局部變量:是可以保存特定類型的單個(gè)數(shù)據(jù)值的對(duì)象。一般說來在一個(gè)批處理中被聲明、定義,在這個(gè)批處理(也可能是存儲(chǔ)過程或觸發(fā)器)中用SQL語言對(duì)這個(gè)變量賦值,或使用這個(gè)變量已經(jīng)被賦予的值。當(dāng)批處理結(jié)束后,這個(gè)局部變量的生命周期就結(jié)束了。作用:作為計(jì)數(shù)器在循環(huán)中使用;作為返回值;保存臨時(shí)數(shù)據(jù)等;B.聲明局部變量:格式:Declare@變量名1數(shù)據(jù)類型,@變量名2數(shù)據(jù)類型……說明:Declare的使用:(1)指派名稱:第一個(gè)字符必為@+變量名;(2)指派系統(tǒng)提供或用戶定義的數(shù)
2、據(jù)類型和長(zhǎng)度;(3)將值設(shè)置為NULL;示例:Declare@myCountintC.給變量賦值:Set語句:如Set@myCount=100Select語句:如Select@myCount=100綜合示例UsePubsGoDeclare@findvarchar(30)Set@find=’Ring%’Selectau_lname,au_fname,phoneFromauthorsWhereau_lnamelike@find(2)全局變量A)全局變量:變量名前用@@表示;在SQLServer7.0及以后的版本中,全局變量作為函數(shù)據(jù)形式被使
3、用;B)一共30多個(gè)對(duì)于一般的用戶來說,一般不用全局變量;C)SQLServer提供的系統(tǒng)全局變量不用聲明直接使用使用:也可聲明自定義的全局變量(類似局部變量);常用全局變量如下@@CONNECTIONS:返回自上次啟動(dòng)SQLServer以來連接或試圖連接的次數(shù),用其可讓管理人員方便地了解今天所有試圖
連接服務(wù)器的次數(shù)。@@DATEFIRST:返回使用SETDATEFIRST命令而被賦值的DATAFIRST參數(shù)值。SETDATEFIRST命令用來指定每周的第一天
是星期幾。@@SERVICENAME:返回SQLServer正運(yùn)行于哪種服
4、務(wù)狀態(tài)之下:如MSSQLServer、MSDTC、SQLServerAgent。@@TEXTSIZE:返回SET語句的TEXTSIZE選項(xiàng)值SET語句定義了SELECT語句中text或image。數(shù)據(jù)類型的最大長(zhǎng)度基本單位
為字節(jié)。@@ROWCOUNT:返回受上一語句影響的行數(shù),任何不返回行的語句將這一變量設(shè)置為0。@@IDLE:返回自SQLServer最近一次啟動(dòng)以來CPU處于空閉狀態(tài)的時(shí)間長(zhǎng)短,單位為毫秒。@@IO_BUSY:返回自SQLServer最后一次啟動(dòng)以來CPU執(zhí)行輸入輸出操作所花費(fèi)的時(shí)間(毫秒)。@@CPU_BUSY:返
5、回自SQLServer最近一次啟動(dòng)以來CPU的工作時(shí)間其單位為毫秒。@@DBTS:返回當(dāng)前數(shù)據(jù)庫(kù)的時(shí)間戳值必須保證數(shù)據(jù)庫(kù)中時(shí)間戳的值是惟一的。@@CURSOR_ROWS:返回最后連接上并打開的游標(biāo)中當(dāng)前存在的合格行的數(shù)量。@@REMSERVER:返回登錄記錄中記載的遠(yuǎn)程SQLServer服務(wù)器的名稱。@@VERSION:返回SQLServer當(dāng)前安裝的日期、版本和處理器類型。@@MAX_CONNECTIONS:返回允許連接到SQLServer的最大連接數(shù)目。@@PACK_RECEIVED:返回SQLServer通過網(wǎng)絡(luò)讀取的輸入包的數(shù)目
6、。@@NESTLEVEL:返回當(dāng)前執(zhí)行的存儲(chǔ)過程的嵌套級(jí)數(shù),初始值為0。@@LOCK_TIMEOUT:返回當(dāng)前會(huì)話等待鎖的時(shí)間長(zhǎng)短其單位為毫秒。@@MAX_PRECISION:返回decimal和numeric數(shù)據(jù)類型的精確度。@@SERVERNAME:返回運(yùn)行SQLServer2000本地服務(wù)器的名稱。@@PACK_SENT:返回SQLServer寫給網(wǎng)絡(luò)的輸出包的數(shù)目。@@ERROR:返回最后執(zhí)行的Transact-SQL語句的錯(cuò)誤代碼。@@TRANCOUNT:返回當(dāng)前連接中處于激活狀態(tài)的事務(wù)數(shù)目。@@FETCH_STATUS:返回
7、上一次FETCH語句的狀態(tài)值。@@SPID:返回當(dāng)前用戶處理的服務(wù)器處理ID值。@@IDENTITY:返回最后插入行的標(biāo)識(shí)列的列值。@@PACKET_ERRORS:返回網(wǎng)絡(luò)包的錯(cuò)誤數(shù)目。@@TOTAL_ERRORS:返回磁盤讀寫錯(cuò)誤數(shù)目。@@TOTAL_WRITE:返回磁盤寫操作的數(shù)目。@@LANGID:返回當(dāng)前所使用的語言ID值。@@LANGUAGE:返回當(dāng)前使用的語言名稱。@@TOTAL_READ:返回磁盤讀操作的數(shù)目。@@TIMETICKS:返回每一時(shí)鐘的微秒數(shù)。@@OPTIONS:返回當(dāng)前SET選項(xiàng)的信息。@@PROCID:返回
8、當(dāng)前存儲(chǔ)過程的ID值。本文出自51CTO.COM技術(shù)博客SQLSERVER2000教程-第七章Transact-SQL編程第二節(jié)流程控制命令1)塊結(jié)構(gòu):Begin----End2)If-else-條件分支: