日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

SQLServer局部变量和全局变量介绍05-29学习笔记

發布時間:2024/2/2 综合教程 30 生活家
生活随笔 收集整理的這篇文章主要介紹了 SQLServer局部变量和全局变量介绍05-29学习笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

變量

數據在內存中存儲可以變化的量叫變量。為了在內存中存儲信息,用戶必須指定存儲信息的單元,并為了該存儲單元命名,

以方便獲取信息,這就是變量的功能。Transact-SQL可以使用兩種變量,一種是局部變量,另外一種是全局變量。

局部變量和全局變量的主要區別在于存儲的數據賬作用范圍不一樣。

1、局部變量

局部變量是用戶可自定義的變量,它的作用范圍僅在程序內部。局部變量的名稱是用戶自定義的,

命名的局部變量名要符合SQLserver2012標識符命名規則,局部變量名必須以@開頭。

1.1、聲明局部變量

語法:

DECLARE
{
@varaible_name datatype [,...n]
}

參數說明:

@varaible_name:局部變量的變量名

datatype:局部變量使用的數據類型,可以除text,ntext,image類型外所有的系統數據類型和用戶自定義數據類型。

例如,聲明變量@testname

SQL語句如下:

declare @testname nvarchar(10)

1.2、為局部變量賦值

為變量賦值的方式一般有兩種,一種是使用select語句,一種是使用set語句。

使用select語句賦值SQL:

use db_tse
declare @testname nvarchar(10)
select @testname=stname from Student where id='1001'
print @testname

說明:首先聲明變量testname然后student表里面的id=1001這條數據的stname賦值給@testname,最后print打印出來

declare @a int
select @a=1
print @a

給多個變量賦值:

declare @a int,@b nvarchar(10),@c int
select @a=1,@b='Tse先生',@c=2

使用set語句賦值SQL:

簡單的賦值例子:

declare @testname nvarchar(20)
set @testname = 'Are you ok?'
print @testname

2、全局變量

全局變量是SQLserver系統內部事先定義好的變量,不用用戶參與定義,對用戶而言,其作用范圍并不局限于某一程序,

而是任何程序均可隨時調用。全局變量通常用于存儲一些SQLserver的配置設定值和效能統計數據。

(1)@@CONNECTIONS:記錄自最后一次服務器啟動以來,所有針對這臺服務器進行的連接數目,包括沒有連接成功的嘗試。

(2)@@CPU_BUSY:記錄自上次啟動以來嘗試的連接數,無論連接成功還是失敗,都以ms為單位的CPU工作時間。

(3)@@CURSOR_ROWS:返回本次服務器連接中,打開游標取出數據行的數目。

(4)@@DBTS:返回當前數據庫中timestamp數據類型的當前值。

(5)@@ERROR:返回上一條T-SQL語句所返回的錯誤代碼。如果sqlserver服務器執行完上一條語句后,執行成功沒有錯誤,則返回@@ERROR的值為0。

(6)@@FETCH_STATUS:返回上一次使用游標FETCH操作返回的狀態值,且返回值為整型。

返回值 描述
0 FETCH語句成功
-1 FETCH語句失敗或此行不在結果集中
-2 被提取的行不存在

(7)@@IDENTITY:返回最近一次插入的identity列的數值,返回值是numeric。

(8)@@IDLE:返回以ms為單位計算SQLserver服務器自最近一次啟動以來處于停頓狀態的時間。

(9)@@IO_BUSY:返回以ms為單位計算的SQLserver服務器自最近一次啟動以來花在輸入和輸出上的時間。

(10)@@LOCK_TIMEOUT:返回當前對數據鎖定的超時設置。

(11)@@PACK_RECEIVED:返回sqlserver服務器自最近一次啟動以來一共從網絡上接收數據分組的數目。

(12)@@PACK_SENT:返回sqlserver服務器自最近一次啟動以來一共向網絡上發送數據分組的數目。

(13)@@PROCID:返回當前存儲過程的ID標識。

(14)@@REMSERVER:返回在登錄記錄中記載遠程sqlserver服務器的名字

(15)@@ROWCOUNT:返回上一條sql語句所影響到數據行的數目。對所有不影響數據庫數據的SQL語句,這個全局變量返回的結果是0。在進行數據庫編程時,經常要檢測@@ROWCOUNT的返回值,以便明確所執行的操作是否達到了目標。

(16)@@SPID:返回當前服務器進程的ID標識。

(17)@@TOTAL_ERRORS:返回自sqlserver服務器啟動以來,所遇到讀寫錯誤的總數。

(18)@@TOTAL_READ:返回自sqlserver服務器啟動以來,讀磁盤的次數。

(19)@@TOTAL_WRITE:返回自sqlserver服務器啟動以來,寫磁盤的次數。

(20)@@TRANCOUNT:返回當前連接中,處于活動狀態事務的數目。

(21)@@VERSION:返回當前sqlserver服務器安裝日期、版本,以及處理器的類型。

總結

以上是生活随笔為你收集整理的SQLServer局部变量和全局变量介绍05-29学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。