1. 程式人生 > >轉載 SQL Server中常用全局變量介紹

轉載 SQL Server中常用全局變量介紹

lang select 兩種 正在 操作 tempdb gid ive 作用範圍

變量

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中常用全局變量介紹