區域性變數和全域性變數

2021-08-21 04:41:47 字數 1267 閱讀 6718

------------區域性變數

宣告區域性變數:declare @變數名  變數的資料型別

------------全域性變數

全域性變數是系統預定義的,返回一些系統資訊,一下是一些常用的變數

@@connections : 返回自上次啟動以來連線或試圖連線的次數

@@cursor_rows : 返回連線上最後開啟游標中當前存在的合格行的數量(返回被開啟的游標中還未被讀取的有效資料行的行數)

@@datefirst : 返回每週第一天的數字

@@error : 返回最後執行的sql語句的錯誤**

@@fetch_status : 返回被fetch語句執行的最後游標的狀態,而不是任何當前被連線開啟的游標的狀態

@@identity : 返回最後插入的標識值

@@langid : 返回當前所使用語言的本地語言識別符號(id)

@@language : 返回當前使用的語言名

@@lock_timeout : 返回當前回話的當前鎖超時設定,單位為毫秒

@@procid : 返回當前儲存的儲存過程識別符號(id)

@@servername : 返回執行的本地伺服器名稱

@@spid  :  返回當前使用者程序的伺服器程序的識別符號(id)

@@trancount : 返回當前連線的活動事務數

@@version : 返回當前安裝的日期、版本和處理器型別

@@cpu_busy : 返回自sql  server最近一次啟動以來cpu的工作時間,單位為毫秒

@@dbts : 返回當前資料庫的時間戳值必須保證資料庫中的時間戳的值是唯一的

@@idle : 返回自sql server最近一次啟動以來cpu處於空閉狀態的時間長短,單位為毫秒

@@io_busy : 返回自sql server最近一次啟動以來cpu執行輸入輸出操作所花費的時間,其單位為毫秒

@@max_connections : 返回允許連線到sql server的最大連線數目

@@max_precision : 返回decimal 和 numeric資料型別的精確度

@@nestlevel : 返回當前執行的儲存過程的巢狀級數,初始值為0

@@options : 返回當前set 選項的資訊

@@pack_sent : 返回sql server寫給網路的輸出包的數目

@@packet_errors : 返回網路包 的錯誤數目

@@procid : 返回當前儲存過程的id值

@@remserver : 返回遠端sql server資料庫伺服器的名稱

全域性變數 靜態全域性變數 靜態區域性變數 區域性變數

全域性和靜態變數都在堆裡。這句話應該錯了,應該是放在常量資料段 全域性變數的作用範圍是整個程式 如果程式是多個檔案,必須在其他的檔案中說明 靜態變數的作用範圍要看靜態變數的位置,如果在函式裡,則作用範圍 就是這個函式。靜態全域性變數,只在本檔案可以用,雖然整個程式包含多個檔案,但靜態全域性變數只能用...

全域性變數 靜態全域性變數 靜態區域性變數 區域性變數

全域性和靜態變數都在堆裡。全域性變數的作用範圍是整個程式 如果程式是多個檔案,必須在其他的檔案中說明 靜態變數的作用範圍要看靜態變數的位置,如果在函式裡,則作用範圍 就是這個函式。靜態全域性變數,只在本檔案可以用,雖然整個程式包含多個檔案,但靜態全域性變數只能用在定義它的那個檔案裡,卻不能用在程式中...

全域性變數 靜態全域性變數區域性變數 靜態區域性變數

對於乙個完整的程式,在記憶體中的分布情況如下圖 區 low address 全域性資料區 堆區 棧區 high address 一般程式把新產生的動態資料存放在堆區,函式內部的自動變數存放在棧區。自動變數一般會隨著函式的退出而釋放空間,靜態資料 即使是函式內部的靜態區域性變數 也存放在全域性資料區。...