標籤:計數 timeout 全域配置 作用 pack version 資料類型 標記 out
變數
Transact-SQL語言中有兩種形式的變數,一種是使用者自己定義的局部變數,另外一種是系統提供的全域變數。
局部變數
局部變數是一個能夠擁有特定資料類型的對象,它的作用範圍僅限制在程式內部。局部變數可以作為計數器來計算迴圈執行的次數,或是控制迴圈執行的次數。另外,利用局部變數還可以儲存資料值,以供控制流程語句測試以及儲存由預存程序返回的資料值等。局部變數被引用時要在其名稱前加上標誌“@”,而且必須先用DECLARE命令定義後才可以使用。
全域變數
全域變數是SQL Server系統內部使用的變數,其作用範圍並不僅僅局限於某一程式,而是任何程式均可以隨時調用。全域變數通常儲存一些SQL Server的配置設定值和統計資料。使用者可以在程式中用全域變數來測試系統的設定值或者是Transact-SQL命令執行後的狀態值。
使用全域變數時應該注意以下幾點:
①全域變數不是由使用者的程式定義的,它們是在伺服器級定義的。
②使用者只能使用預先定義的全域變數。
③引用全域變數時,必須以標記符“@@”開頭。
④局部變數的名稱不能與全域變數的名稱相同,否則會在應用程式中出現不可預測的結果。
select @@ERROR 返回最後執行的 Transact-SQL 陳述式的錯誤碼(integer) (0,表示沒錯誤;1,表示有錯誤)
select APP_NAME ( ) as w --當前會話的應用程式
select @@IDENTITY --返回最後插入的標識值
select USER_NAME() --返回使用者資料庫使用者名稱
SELECT @@CONNECTIONS --返回自上次SQL啟動以來串連或試圖串連的次數。
SELECT GETDATE() --目前時間
SELECT @@CPU_BUSY/100 --返回自上次啟動SQL 以來 CPU 的工作時間,單位為毫秒
USE tempdb SELECT @@DBTS as w --為當前資料庫返回當前 timestamp 資料類型的值。這一 timestamp 值保證在資料庫中是唯一的。
select @@IDENTITY as w --返回最後插入的標識值
SELECT @@IDLE as w --返回SQL自上次啟動後閑置的時間,單位為毫秒
SELECT @@IO_BUSY AS w --返回SQL自上次啟動後用於執行輸入和輸出操作的時間,單位為毫秒
SELECT @@LANGID AS w --返回當前所使用語言的本地語言識別項(ID)。
SELECT @@LANGUAGE AS w --返回當前使用的語言名
SELECT @@LOCK_TIMEOUT as w --當前會話的當前鎖逾時設定,單位為毫秒。
SELECT @@MAX_CONNECTIONS as w --返回SQL上允許的同時使用者串連的最大數。返回的數不必為當前配置的數值
EXEC sp_configure --顯示當前伺服器的全域配置設定
SELECT @@MAX_PRECISION as w --返回 decimal 和 numeric 資料類型所用的精度層級,即該伺服器中當前設定的精度。預設最大精度38。
select @@OPTIONS as w --返回當前 SET 選項的資訊。
SELECT @@PACK_RECEIVED as w --返回SQL自啟動後從網路上讀取的輸入資料包數目。
SELECT @@PACK_SENT as w --返回SQ自上次啟動後寫到網路上的輸出資料包數目。
SELECT @@PACKET_ERRORS as w --返回自SQL啟動後,在SQL串連上發生的網路資料包錯誤數。
SELECT @@SERVERNAME as w --返回運行SQL伺服器名稱。
SELECT @@SERVICENAME as w --返回SQL正在其下啟動並執行註冊表鍵名
SELECT @@TIMETICKS as w --返回SQL伺服器一刻度的微秒數
SELECT @@TOTAL_ERRORS AS w --返回 SQL伺服器自啟動後,所遇到的磁碟讀/寫錯誤數。
SELECT @@TOTAL_READ as w --返回 SQL伺服器自啟動後讀取磁碟的次數。
SELECT @@TOTAL_WRITE as w --返回SQL伺服器自啟動後寫入磁碟的次數。
SELECT @@TRANCOUNT as w --返回當前串連的活動事務數。
SELECT @@VERSION as w --返回SQL伺服器安裝的日期、版本和處理器類型。
轉載 SQL Server中常用全域變數介紹