數據庫知識:SQLServer變量相關知識介紹

今天給大家分享SQLServer變量相關介紹,希望對大家能有所幫助!

1、概述

SQLServer變量對應內存中的一個存儲空間。它和常量不同,變量的值可以在執行過程中改變。

2、分類

SQLServer變量根據作用范圍不同主要分為局部變量和全局變量。

2.1.局部變量

局部變量是用戶在程序中定義的變量,它僅在定義的程序范圍內有效。局部變量可以用來保存從表中讀取的數據,也可以作為臨時變量保存計算的中間結果。

注意:局部變量名稱的第一個字符必須為一個@。

示例:

-- 定義兩個局部變量
DECLARE @m int,@n int;
-- 賦值
SET @m=9;
SET @n=1;
-- 查詢
SELECT @m+@n;

2.2 全局變量

全局變量通常以@@開頭。這些變量一般都是SQL Server中的系統函數,它們的語法遵循函數的規則。用戶可以在程序中使用這些函數測試系統特性和SQL命令的執行情況。常用的全局變量如下:

@@ERROR -- 最后一個SQL錯誤的錯誤號
@@IDENTITY -- 最后一次插入的標識值
@@LANGUAGE -- 當前使用的語言的名稱
@@MAX_CONNECTIONS -- 可以創建的同時連接的最大數目
@@ROWCOUNT -- 受上一個SQL語句影響的行數
@@SERVERNAME -- 本地服務器的信息
@@TRANSCOUNT -- 當前連接打開的事物數
@@VERSION  -- 查看SQL Server的版本信息

3.聲明變量

3.1、簡單聲明

變量只有在聲明后才能使用,可以使用DECLARE語句來聲明變量。在聲明變量時可以指定變量的數據類型和長度。

DECLARE @name nvarchar(30);

3.2 聲明多個變量

聲明多個局部變量,需要在定義的局部變量后使跟上一個逗號,然后指定下一個局部變量名稱和數據類型。

DECLARE @Name nvarchar(30), @Age int;

3.3 變量作用域

在使用變量時,需要注意變量的作用域。變量具有局部作用域,只在定義它們的批處理或過程中可見。作用域范圍從聲明變量的地方開始到聲明變量的批處理或存儲過程的結尾。

USE DB;  
GO
DECLARE @Age int;
SET @Age = 30;
GO -- 結束符
select @Age -- 報錯

4.變量賦值

在聲明變量后,變量值被默認設置為NULL。可以使用SET或SELECT語句。SET是為變量賦值的首選方法。

變量也可以通過選擇列表中當前所引用的值賦值。如果在選擇列表中引用變量,則它應當被賦以標量值或者SELECT語句應僅返回一行。

示例:

DECLARE @Age int;
-- SELECT語句賦值
SELECT @Age =  age from t_user ORDER BY age desc;-- 返回最后一行的值
select @Age;

IT技術分享社區

個人博客網站:https://programmerblog.xyz

文章推薦程序員效率:畫流程圖常用的工具程序員效率:整理常用的在線筆記軟件遠程辦公:常用的遠程協助軟件,你都知道嗎?51單片機程序下載、ISP及串口基礎知識硬件:斷路器、接觸器、繼電器基礎知識

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/270908.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/270908.shtml
英文地址,請注明出處:http://en.pswp.cn/news/270908.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

oauth基本流程和原理

組裝loginurl-》去第三方登錄驗證-》回調callbackurlcode(票據)-》本地根據codeappidappkey組裝url隱式curl獲取用戶信息-》完成登錄。 之所以要用callbackurl的形式是因為不能讓用戶在你本地輸入賬號密碼防止被盜號。 之所以不在callbackurl的時候&…

halcon輪廓擦除_halcon第十二講,毛刺去除

在視覺測量中我們很會被毛刺問題困擾,產生干擾的因素很多,有打光問題和產品本生帶毛刺,接下來給兄弟們帶來兩種去毛刺的方法。第一種read_image (Image1323153Ba0b96cf52f88f1, 1)rgb1_to_gray (Image1323153Ba0b96cf52f88f1, GrayImage)lapl…

c語言雙循環計算n的階乘,用C語言用循環實現N的階乘

匿名用戶1級2014-03-04 回答不要用數組,用vector來實現相應的功能,我給你寫個大概的框架,你向里面添加就好了1234567891011121314151617181920212223242526272829303132333435363738394041424344454647#include #include #include …

存儲知識:U盤的實際容量要比標注容量小,你知道原因嗎?

用過U盤的朋友一定都會知道,U盤的實際容量往往是達不到它標注的容量。比如一個16G的U盤,其實際容量一般只有14.7G左右。今天本文會給大家解釋其中的原因。 原因一:計算容量方法不同 存儲設備制造商為了計算方便,采用十進制計算方法…

CentOS 7 防止端口自動關閉

tl;dr firewall-cmd --permanent --zonepublic --add-port2888/tcp firewall-cmd --reload #重新載入服務 永久配置firewalld開啟端口。 之前的一些坑 之前的一篇文章CentOS 7部署Node.jsMongoDB:在VPS上從安裝到Hello world中,講到了CentOS開啟端口用這…

jio文件 久其_功能強大的Windows文件管理器工具

Windows文件管理功能體驗只能說中規中矩,批量處理文件時非常的慢,而且在模糊搜索文件時的速度以及資源占用實在是感人,再加上功能較少,只能實現重命名、復制、粘貼、剪切這些基礎功能,因此想要提高文件之間處理效果通常…

C語言補丁原理,C語言可變長參數實現原理

(1) C語言可變參數我們能夠從C語言的printf得出可變參數的作用。printf函數的原型例如以下:int printf ( const char * format, ... );通過使用可變個數參數,就是傳入的參數個數是可變的,如printf須要依據format實參傳入多個實參。(2) …

辦公技巧:各類特殊符號輸入快捷鍵,瞬間提高你的辦公效率

??作者主頁:IT技術分享社區 ??作者簡介:大家好,我是IT技術分享社區的博主,從事C#、Java開發九年,對數據庫、C#、Java、前端、運維、電腦技巧等經驗豐富。 ??個人榮譽: 數據庫領域優質創作者🏆&#x…

前端構建工具的用法—grunt、gulp、browserify、webpack

隨著前端項目的飛速發展,項目越來越大、文件越來越多,前端工程化的工具也越來越多。下面介紹目前最流行的四種構建工具——grunt、gulp、browserify、webpack 所有的構建工具都是基于NodeJs和Npm,所以使用下面任何工具都需要安裝Node 一、gru…

adb命令刷機vivox20_vivo手機變磚 刷機手機端口連上顯示adb

展開全部vivo的刷機解賬戶鎖方法如下 有了這個方法 以后不管手機出現啥毛病 只要是軟件系統引32313133353236313431303231363533e4b893e5b19e31333365643535起的故障 都能一招搞定提示:刷機有風險 刷機需謹慎 對于刷機造成的一切后果均與本處無關 而避免風險的最好…

SQLServer常用的聚合函數筆記

今天給大家分享一下SQLServer常用的聚合函數,希望對初學者有所幫助!1、COUNT合計函數:返回查詢記錄(行)數。格式:COUNT([ALL|DISTINCT] [表達式|*])參數說明:ALL:默認值,指對查詢所有…

android studio 工程demo例子,Android Studio 實現跑馬燈微項目實例

**閑來無事,自己做了很多小的Demo,現在分享一個小的跑馬燈項目實例,有機會把2048小游戲的Demo也發了。不過那個的算法稍微有點兒復雜,需要整理。首先在創建一個MarqueeTextViewDemo項目在res-layout-activity_main.xml中編寫出相應…

SQLServer常用的配置函數筆記

今天給大家分享一下SQLServer常用的配置函數知識,希望對初學者能有所幫助!1、DATEFIRST Datefirst返回值tinyint說明:datefirst指一周中的第一天,英語中第一天為星期日示例:SELECT DATEFIRST AS 1st Day, DATEPART(dw, GETDATE())…

localdatetime 默認時間_datetime-local設置初始值

//全局變量var format "";//構造符合datetime-local格式的當前日期function getFormat(){format "";var nTime new Date();format nTime.getFullYear()"-";format (nTime.getMonth()1)<10?"0"(nTime.getMonth()1):(nTime.get…

android音樂播放器完整教程,android實現簡單音樂播放器

本文實例為大家分享了android音樂播放器的具體代碼&#xff0c;供大家參考&#xff0c;具體內容如下話不多說先上效果前言寫這個音樂播放器實在是迫不得已。因為我們Andoird課程要求寫一個音樂播放器。所以就有了此項目。這個項目比較簡單&#xff0c;實現了最基本的音樂播放功…

編譯原理

編譯原理是計算機專業的一門重要專業課&#xff0c;旨在介紹編譯程序構造的一般原理和基本方法。內容包括語言和文法、詞法分析、語法分析、語法制導翻譯、中間代碼生成、存儲管理、代碼優化和目標代碼生成。 這門課程是一門真正與代碼做斗爭的課程&#xff0c;對于一個有至于追…

JDK1.8 JVM元數據區取代了永久代,元數據空間并不在虛擬機中,而是使用本地內存

JDK1.8 JVM運行時內存數據區域劃分。1.8同1.7比&#xff0c;最大的差別就是&#xff1a;元數據區取代了永久代。元空間的本質和永久代類似&#xff0c;都是對JVM規范中方法區的實現。不過元空間與永久代之間最大的區別在于&#xff1a;元數據空間并不在虛擬機中&#xff0c;而是…