[英]What is the usage of '@@' in SQL Server
SQL Server中@@
的用法是什么?
根據MSDN ,這些的正確名稱是system functions
。
命名混淆(全局變量,系統函數,全局函數)源於SQL Server歷史中使用的不同術語。 從MSDN Transact-SQL變量文章 :
一些Transact-SQL系統函數的名稱以兩個符號(@@)開頭。 雖然在早期版本的Microsoft SQL Server中,@@函數稱為全局變量,但它們不是變量,並且與變量的行為不同。 @@函數是系統函數,它們的語法用法遵循函數規則。
因此,兩個'at'符號(@@)用於表示某些系統功能。 不推薦使用短語“全局變量”(盡管你仍會看到有些人使用它 ),很可能是因為在編程世界中,全局變量是一個在任何地方都可見的單個值,並且正如已經指出的那樣,isn'這里發生了什么(例如, @@IDENTITY
)。
臨時表的命名方式可能會引起進一步的混淆。 表名稱前面的單個哈希符號表示本地范圍的臨時表(例如, #MyLocalTable
),非常像符號中的單個表示本地范圍的變量(例如, @MyLocalVariable
)。 向臨時表添加第二個哈希符號使其成為全局范圍的(例如, ##MyGlobalTable
),但嘗試在符號中添加兩個到變量不會產生相同的效果 。
@
是一個局部變量
@@
用於全局變量或函數。
有幾個標准的全局變量或函數,例如: @@IDENTITY
, @@ROWCOUNT
, @@TRANCOUNT
@@
用於為內部統計和元數據函數添加前綴,這些函數返回有關如何配置SQL Server的信息,而不是特定於任何特定數據庫的信息。
例如,這些包括與數據庫建立的連接數( @@CONNECTIONS
)和一周的第一天( @@DATEFIRST
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.