SQLServer中的全域性變數

2021-07-25 18:58:32 字數 2213 閱讀 4027

變數

transact-sql語言中有兩種形式的變數,一種是使用者自己定義的區域性變數,另外一種是系統提供的全域性變數。

區域性變數

區域性變數是乙個能夠擁有特定資料型別的物件,它的作用範圍僅限制在程式內部。區域性變數可以作為計數器來計算迴圈執行的次數,或是控制迴圈執行的次數。另外,利用區域性變數還可以儲存資料值,以供控制流語句測試以及儲存由儲存過程返回的資料值等。區域性變數被引用時要在其名稱前加上標誌「@」,而且必須先用declare命令定義後才可以使用。

全域性變數

全域性變數是sql server系統內部使用的變數,其作用範圍並不僅僅侷限於某一程式,而是任何程式均可以隨時呼叫。全域性變數通常儲存一些sql server的配置設定值和統計資料。使用者可以在程式中用全域性變數來測試系統的設定值或者是transact-sql命令執行後的狀態值。

使用全域性變數時應該注意以下幾點:

①全域性變數不是由使用者的程式定義的,它們是在伺服器級定義的。

②使用者只能使用預先定義的全域性變數。

③引用全域性變數時,必須以標記符「@@」開頭。

④區域性變數的名稱不能與全域性變數的名稱相同,否則會在應用程式中出現不可**的結果。

select @@error 返回最後執行的 transact-sql 語句的錯誤**(integer) (0,表示沒錯誤;1,表示有錯誤)

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 全域性變數

servername 返回執行sql server 2000本地伺服器的名稱。remserver 返回登入記錄中記載的遠端sql server伺服器的名稱。connections 返回自上次啟動sql server以來連線或試圖連線的次數,用其可讓管理人員方便地了解今天所有試圖連線伺服器的次數。cu...

SQLServer 全域性變數

sql server一共提供了30多個全域性變數 常用 identity 返回最後插入行的標識列的列值。error 返回最後執行的transact sql語句的錯誤 沒有錯誤則為零。rowcount 返回受上一語句影響的行數,任何不返回行的語句將這一變數設定為0。dbts 返回當前資料庫的時間戳值必...

SQL Server 全域性變數

servername 返回執行sql server 2000本地伺服器的名稱。remserver 返回登入記錄中記載的遠端sql server伺服器的名稱。connections 返回自上次啟動sql server以來連線或試圖連線的次數,用其可讓管理人員方便地了解今天所有試圖連線伺服器的次數。cu...