SQL中遺留的"系統"函數
下文將為您介紹SQL中的系統函數,該函數在SQL中屬于比較重要的函數,供您參考,希望對您有所幫助。
a. @@DateFirst :當前系統認為星期幾是一周的第一天,則返回那一天的數字值. 可以使用Set DateFirst函數來更改它的值;如可使用Set DateFirst 1來設置星期一做為一周的第一天。
b. @@DBTS:當前數據庫最后使用的時間戳值。此處需要注意:(1)該值將基于數據庫中任何改變而發生改變,而不僅僅是你所工作的表。(2)數據庫中人選何時間戳的改變都會反映出來,而不僅僅是針對當前連接的改變。
c. @@Cursor_Rows:在當前連接打開的上一個游標集中當前行的數目。每當打開一個新游標時,該值將被重置。如果需要一次打開一個以上的游標,并且需要知道第一個的行數。根據游標類型以及SQL Server是否是異步地填充游標,@@Cursor_Rows中所包含的值可能會發生改變。使用@@Fetch_Status將更加可靠。
如果返回值是絕對值大于-1的負數和,那么,你一定是在使用異步游標,并且,這個負數是當前創建在游標中的記錄的數目。然而,如果該值是-1,則游標是動態游標,游標的行數不斷變化,返回值為0,則告知你,要么沒有打開的游標,要么上一個打開的游標已被關閉或釋放。任何正數的值表示游標中行的數目.
d. @@Error:返回在當前連接中運行的最后一個T-SQL語句的錯誤號。如果沒有錯誤則返回值為0.通過master數據庫中的sysmessage系統表,可以看到所有的系統錯誤列表。要創建算定義錯誤,可以使用sp_addmessage.
e. @@Fetch_Status:返回最后一個游標Fetch操作狀態的指示值。如果使用游標 ,那么將會用到@@Fetch_Status.當你在游標中試圖導航到一條記錄時,該值使你短簡操作是成功還是失敗。根據SQL Server在最后一個Fetch操作中是否成功,以及如果Fetch操作失敗,失敗的原因是什么,@@Fetch_Status將返回一個常量:
0:成功. -1:失敗,通常由于超出了游標集的開始或末尾。 -2:失?。簺]有找到要提取的行,通常是由于在創建游標集和導航到當前行的期間 ,該行被刪除了,這只會發生在滾動游標,非動態游標上。
mailto:f.@@Identity :返回當前連接創建的最后一個標識值.如果插入的最后一個表沒有標識列,則@@Identity將被設置為NULL .
g. @@LangID和 @@Language: 這二者分別返回當前使用的語言的ID和名稱,如果要得到SQL Server當前支持的語言的完整列表,可以使用系統存儲過程sp_helplanguage.
h. @@Lock_TimeOut:返回在系統在超時前,等待阻塞的時間的當前設置值,以毫秒為單位。
i. @@MAX_Connections:返回Sql Server上允許同時進行的最大的用戶連接數。不要把這個系統函數與在Management Console中看到的“最大連接數”屬性混為一談。該值是基于許可的,當你選擇“每客戶”許可類型時,會看到很大的數值。
注意:實際允許的用戶連接數還依賴于所使用的SQL Server的版本以及應用程序和硬件的限制.
j. @@Max_Precision:返回當前為decimal和numeric數據類型所設置的精度級別。默認情況下是38值。在啟動SQL Server時,可以使用/p選項更改該值??梢酝ㄟ^從命令行啟動Sql Server來添加/p選項。
k. @@NetLevel :返回嵌套的存儲過程的當前嵌套級別。第一個存儲過程運行時擁有的級別為0.如果那個存儲過程調用另一個存儲過程,則第二個存儲過程被稱為嵌套在第一個存儲過程中(并且嵌套級別遞增為1).以此類扒。直至到達最大值級數32的嘗試,如果超過32級別的嵌套深度,則不僅事務會被終止,而且, 時應當重新考慮你的應用程序的設計。
l. @@Options:返回使用set命令所應用的選項信息
【編輯推薦】