自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

為您詳解SQL Server中的全局變量

數(shù)據(jù)庫(kù) SQL Server
全局變量是一種特殊類型的變量,服務(wù)器將維護(hù)這些變量的值,面就將為您介紹SQL Server中的全局變量,供您參考,希望對(duì)您學(xué)習(xí)SQL Server數(shù)據(jù)庫(kù)有所幫助。

學(xué)習(xí)SQL Server數(shù)據(jù)庫(kù),變量是一定要掌握的概念,下面就將為您介紹SQL Server中的全局變量,供您參考,希望對(duì)您學(xué)習(xí)SQL Server數(shù)據(jù)庫(kù)有所幫助。

SQL Server中,全局變量是一種特殊類型的變量,服務(wù)器將維護(hù)這些變量的值。全局變量以@@前綴開頭,不必進(jìn)行聲明,它們屬于系統(tǒng)定義的函數(shù),自己沒有辦法定義全局變量,如果有需要,可以用變通的方法,如把你的表看做全局變量。

SQL Server 7.0 以前的版本全局變量是由系統(tǒng)提供且預(yù)先聲明的變量,通過在名稱前保留兩個(gè)   (@@)   符號(hào)區(qū)別于局部變量。SQL Server 7.0及其以后版本 Transact-SQL 全局變量為函數(shù)形式,現(xiàn)在作為函數(shù)引用。
下面就是SQL Server中一些常用的全局變量。

*******************************************************************************

select APP_NAME ( ) as w --當(dāng)前會(huì)話的應(yīng)用程序

select @@ERROR     --返回***執(zhí)行的 Transact-SQL 語(yǔ)句的錯(cuò)誤代碼(integer)

select @@IDENTITY    --返回***插入的標(biāo)識(shí)值

SELECT USER_NAME()     --返回用戶數(shù)據(jù)庫(kù)用戶名

select @@ERROR    --返回***執(zhí)行的 Transact-SQL 語(yǔ)句的錯(cuò)誤代碼

SELECT @@CONNECTIONS   --返回自上次SQL啟動(dòng)以來連接或試圖連接的次數(shù)。

SELECT GETDATE() --當(dāng)前時(shí)間

SELECT @@CPU_BUSY/100   --返回自上次啟動(dòng)SQL 以來 CPU 的工作時(shí)間,單位為毫秒

USE tempdb SELECT @@DBTS   as w   --為當(dāng)前數(shù)據(jù)庫(kù)返回當(dāng)前 timestamp 數(shù)據(jù)類型的值。這一 timestamp 值保證在數(shù)據(jù)庫(kù)中是唯一的。

select @@IDENTITY as w --返回***插入的標(biāo)識(shí)值

SELECT @@IDLE   as w   --返回SQL自上次啟動(dòng)后閑置的時(shí)間,單位為毫秒

SELECT @@IO_BUSY AS w    --返回SQL自上次啟動(dòng)后用于執(zhí)行輸入和輸出操作的時(shí)間,單位為毫秒

SELECT @@LANGID AS w    --返回當(dāng)前所使用語(yǔ)言的本地語(yǔ)言標(biāo)識(shí)符(ID)。

SELECT @@LANGUAGE AS w    --返回當(dāng)前使用的語(yǔ)言名

SELECT @@LOCK_TIMEOUT as w   --當(dāng)前會(huì)話的當(dāng)前鎖超時(shí)設(shè)置,單位為毫秒。

SELECT @@MAX_CONNECTIONS   as w   --返回SQL上允許的同時(shí)用戶連接的***數(shù)。返回的數(shù)不必為當(dāng)前配置的數(shù)值

EXEC sp_configure   --顯示當(dāng)前服務(wù)器的全局配置設(shè)置

SELECT @@MAX_PRECISION as w --返回 decimal 和 numeric 數(shù)據(jù)類型所用的精度級(jí)別,即該服務(wù)器中當(dāng)前設(shè)置的精度。默認(rèn)***精度38。#p#

select @@OPTIONS   as w   --返回當(dāng)前 SET 選項(xiàng)的信息。

SELECT @@PACK_RECEIVED as w   --返回SQL自啟動(dòng)后從網(wǎng)絡(luò)上讀取的輸入數(shù)據(jù)包數(shù)目。

SELECT @@PACK_SENT as w   --返回SQ自上次啟動(dòng)后寫到網(wǎng)絡(luò)上的輸出數(shù)據(jù)包數(shù)目。

SELECT @@PACKET_ERRORS as w   --返回自SQL啟動(dòng)后,在SQL連接上發(fā)生的網(wǎng)絡(luò)數(shù)據(jù)包錯(cuò)誤數(shù)。

SELECT @@SERVERNAME as w --返回運(yùn)行SQL服務(wù)器名稱。

SELECT @@SERVICENAME   as w --返回SQL正在其下運(yùn)行的注冊(cè)表鍵名

SELECT @@TIMETICKS   as w --返回SQL服務(wù)器一刻度的微秒數(shù)

SELECT @@TOTAL_ERRORS AS w   --返回 SQL服務(wù)器自啟動(dòng)后,所遇到的磁盤讀/寫錯(cuò)誤數(shù)。

SELECT @@TOTAL_READ   as w   --返回 SQL服務(wù)器自啟動(dòng)后讀取磁盤的次數(shù)。

SELECT @@TOTAL_WRITE as w   --返回SQL服務(wù)器自啟動(dòng)后寫入磁盤的次數(shù)。

SELECT @@TRANCOUNT   as w   --返回當(dāng)前連接的活動(dòng)事務(wù)數(shù)。

SELECT @@VERSION as w   --返回SQL服務(wù)器安裝的日期、版本和處理器類型。

SELECT @@REMSERVER as w : 返回登錄記錄中記載的遠(yuǎn)程SQL Server服務(wù)器的名稱。

SELECT @@CURSOR_ROWS as w: 返回***連接上并打開的游標(biāo)中當(dāng)前存在的合格行的數(shù)量。

SELECT @@PROCID   as w : 返回當(dāng)前存儲(chǔ)過程的ID值。

SELECT @@SERVICENAME as w : 返回SQL Server正運(yùn)行于哪種服務(wù)狀態(tài)之下:如 MS SQLServer、MSDTC、SQLServerAgent。

SELECT @@SPID   as w : 返回當(dāng)前用戶處理的服務(wù)器處理ID值。

SELECT @@TEXTSIZE   as w: 返回SET語(yǔ)句的TEXTSIZE選項(xiàng)值SET語(yǔ)句定義了SELECT語(yǔ)句中text或image。數(shù)據(jù)類型的***長(zhǎng)度基本單位為字節(jié)。

SELECT @@ROWCOUNT as w : 返回受上一語(yǔ)句影響的行數(shù),任何不返回行的語(yǔ)句將這一變量設(shè)置為0。

SELECT @@DATEFIRST   as w : 返回使用SET DATEFIRST命令而被賦值的DATAFIRST參數(shù)值。SET DATEFIRST命令用來指定每周的***天是星期幾。#p#

SELECT @@FETCH_STATUS as w: 返回上一次FETCH語(yǔ)句的狀態(tài)值。

SELECT @@NESTLEVEL   as w : 返回當(dāng)前執(zhí)行的存儲(chǔ)過程的嵌套級(jí)數(shù),初始值為0。

SELECT @@IO_BUSY   as w : 返回自SQL Server***一次啟動(dòng)以來CPU執(zhí)行輸入輸出操作所花費(fèi)的時(shí)間(毫秒)。

********************************************************************************

以上全局變量有很多都是得到計(jì)算機(jī)相關(guān)版本對(duì)CPU及相關(guān)屬性的獲取,也有一些我們?cè)诰帉慣ransact-SQL經(jīng)常使用到的全局變量,下面對(duì)幾個(gè)全局變量做一下解釋:

 @@DATEFIRST:看下面示例運(yùn)行的結(jié)果:

SETDATEFIRST5
SELECT@@DATEFIRSTAS'firstDay',DATEPART(dw,GETDATE())AS'Today'

上面意思為設(shè)每一天的星期五為***天,那么今天是星期日,執(zhí)行的結(jié)果如下:

  firstDay Today

  ------- -----------

  5 3

@@ERROR:在使用的頻度特別高,特別在一些存儲(chǔ)過程的使用中,如我們?cè)诿扛乱粋€(gè)操作都想對(duì)其異常進(jìn)行判斷和檢測(cè),這時(shí)候我產(chǎn)會(huì)根據(jù)@@ERROR的值進(jìn)行判斷,如: 

  IF@@ERROR<>0
  BEGIN
  --在此拋出錯(cuò)誤的異常
  --退出存儲(chǔ)過程
  END#p#

@@IDENTITY:在一條 INSERT、SELECT INTO 或大容量復(fù)制語(yǔ)句完成后,@@IDENTITY 中包含語(yǔ)句生成的***一個(gè)標(biāo)識(shí)值。如果語(yǔ)句未影響任何包含標(biāo)識(shí)列的表,則 @@IDENTITY 返回 NULL。如果插入了多個(gè)行,生成了多個(gè)標(biāo)識(shí)值,則 @@IDENTITY 將返回***生成的標(biāo)識(shí)值。如果語(yǔ)句觸發(fā)了一個(gè)或多個(gè)觸發(fā)器,該觸發(fā)器又執(zhí)行了生成標(biāo)識(shí)值的插入操作,那么,在語(yǔ)句執(zhí)行后立即調(diào)用 @@IDENTITY 將返回觸發(fā)器生成的***一個(gè)標(biāo)識(shí)值。如果對(duì)包含標(biāo)識(shí)列的表執(zhí)行插入操作后觸發(fā)了觸發(fā)器,并且觸發(fā)器對(duì)另一個(gè)沒有標(biāo)識(shí)列的表執(zhí)行了插入操作,則 @@IDENTITY 將返回***次插入的標(biāo)識(shí)值。出現(xiàn) INSERT 或 SELECT INTO 語(yǔ)句失敗或大容量復(fù)制失敗,或者事務(wù)被回滾的情況時(shí),@@IDENTITY 值不會(huì)恢復(fù)為以前的設(shè)置。

@@ROWCOUNT:返回上一語(yǔ)句影響的行數(shù),我們常見的就是在更新/刪除/插入或查找數(shù)據(jù)的語(yǔ)句后,會(huì)用這個(gè)語(yǔ)句進(jìn)行判斷,這個(gè)變量保存了上步操作所影響的行數(shù),如: 

--數(shù)據(jù)庫(kù)操作影響的行數(shù)
  IF@@ROWCOUNT>0
  BEGIN
     --插入成功
  END

 

 

【編輯推薦】

詳解SQL中循環(huán)結(jié)構(gòu)的使用

sql循環(huán)語(yǔ)句和多分支語(yǔ)句的語(yǔ)法介紹

SQL循環(huán)執(zhí)行while控制

sql多數(shù)據(jù)庫(kù)查詢批量插入問題循環(huán)

SQL中游標(biāo)嵌套循環(huán)的示例
 
 

責(zé)任編輯:段燃 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-11-12 10:08:55

SQL Server全

2009-11-06 13:28:19

Javascript框

2024-05-29 08:49:22

Python全局變量局部變量

2013-07-17 16:16:06

Android全局變量定義全局變量Application

2009-12-09 17:07:08

PHP unset全局

2010-02-01 14:28:37

Python全局變量

2015-01-07 14:41:32

Android全局變量局部變量

2010-09-10 10:23:57

SQL變量賦值

2017-02-08 12:28:37

Android變量總結(jié)

2010-03-09 14:12:55

Python全局變量

2010-11-12 11:07:03

sql server內(nèi)

2013-07-25 15:15:26

iOS開發(fā)學(xué)習(xí)iOS全局變量

2009-09-24 09:28:00

Scala講座全局變量scala

2011-08-23 13:54:10

LUA全局變量

2013-07-22 14:07:47

2010-08-05 09:07:24

2020-07-20 12:43:31

Go變量命名

2014-06-23 10:25:12

2009-12-04 13:14:19

PHP Global變

2009-12-04 13:31:21

PHP全局變量不能生效
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)