<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
在T-SQL中,變數按生存範圍可以分為全域性變數(Global Variable)和區域性變數(Local Variable)
範例:
DECLARE @i int --宣告一個int型別區域性變數 SET @i = 10 --通過SET對區域性變數進行賦值 DECLARE @Name nvarchar(20) --宣告一個nvarchar(20)型別變數 SET @Name = '張飛' PRINT @@VERSION --全部變數,只能讀取,不能賦值 SET @@VERSION = '123' --此行程式碼報錯
select @@CONNECTIONS; --返回自上次SQL啟動以來連線或試圖連線的次數。 select @@CPU_BUSY / 100; --返回自上次啟動SQL 以來 CPU 的工作時間,單位為毫秒 select @@CURSOR_ROWS as w; --返回被開啟的遊標中還未被讀取的有效資料行的行數 select @@DATEFIRST as w; --返回使用SET DATEFIRST 命令而被賦值的DATAFIRST ,用來指定每週的第一天是星期幾 select @@FETCH_STATUS as w; --返回上一次FETCH 語句的狀態值(0:成功,-1失敗或行超過結果集,-2行沒找到) select @@DBTS as w; --為當前資料庫返回當前 timestamp 資料型別的值。這一 timestamp 值保證在資料庫中是唯一的。 select @@ERROR; --返回最後執行的 Transact-SQL 語句的錯誤程式碼(integer) (0,表示沒錯誤;1,表示有錯誤) select @@IDENTITY as w; --返回最後插入的標識值 select @@IDLE as w; --返回SQL自上次啟動後閒置的時間,單位為毫秒 select @@IO_BUSY as w; --返回SQL自上次啟動後用於執行輸入和輸出操作的時間,單位為毫秒 select @@LANGID as w; --返回當前所使用語言的本地語言識別符號(ID)。 select @@LANGUAGE as w; --返回當前使用的語言名 select @@LOCK_TIMEOUT as w; --當前對談的當前鎖超時設定,單位為毫秒。 select @@MAX_CONNECTIONS as w; --返回SQL上允許的同時使用者連線的最大數。返回的數不必為當前設定的數值 select @@MAX_PRECISION as w; --返回 decimal 和 numeric 資料型別所用的精度級別,即該伺服器中當前設定的精度。預設最大精度38。 select @@OPTIONS as w; --返回當前 SET 選項的資訊。 select @@PACK_RECEIVED as w; --返回SQL自啟動後從網路上讀取的輸入封包數目。 select @@PACK_SENT as w; --返回SQ自上次啟動後寫到網路上的輸出封包數目。 select @@PACKET_ERRORS as w; --返回自SQL啟動後,在SQL連線上發生的網路封包錯誤數。 select @@ROWCOUNT as w; --返回上一次語句影響的資料行的行數 select @@SERVERNAME as w; --返回執行SQL伺服器名稱。 select @@SERVICENAME as w; --返回SQL正在其下執行的登入檔鍵名 select @@TIMETICKS as w; --返回SQL伺服器一刻度的微秒數 select @@TOTAL_ERRORS as w; --返回 SQL伺服器自啟動後,所遇到的磁碟讀/寫錯誤數。 select @@TOTAL_READ as w; --返回 SQL伺服器自啟動後讀取磁碟的次數。 select @@TOTAL_WRITE as w; --返回SQL伺服器自啟動後寫入磁碟的次數。 select @@TRANCOUNT as w; --返回當前連線的活動事務數。 select @@VERSION as w; --返回當前安裝的SQL Server 的日期版本處理器
區域性變數的宣告必須以"DECLARE"作為關鍵字,變數的命名必須以"@"作為變數名的第一個字元,必須為所宣告的變數提供一個資料型別和資料長度。
如:
DECLARE @Name nvarchar(20)
注意:區域性變數的資料型別不能為Text,ntext,和Image型別,當對於字元型變數只提供資料型別沒有提供資料長度時,資料長度預設為1.
有兩種設定變數值方法。可以使用SELECE語句或者SET語句。從功能上看,它們的作用幾乎是相同的,不同的是SELECT語句允許後設資料值來自SELECT語句中的某一列。
DECLARE @i int,@j int set @i = 10; set @j = 20; select @i + @j
用查詢到的值設定變數:
DECLARE @i int SET @i = (select MAX(Age) from Person) --當使用SET時如果返回結果有多行也會報錯。同時如果返回多條記錄也報錯 SELECT @i
當變數中儲存的資訊來源於查詢時,經常使用SELECT給變數賦值,語法比較簡便。
DECLARE @i int SELECT @i = 100 SELECT @i
查詢的資訊為變數賦值:
DECLARE @i int SELECT @i = Age from Person_1 order by Id desc --當返回多個值時用最後一個賦值 PRINT @i
SELECT同時設定多個值:
DECLARE @Name varchar(20) DECLARE @i int SELECT @i = 10, @Name = '張飛'
例如:
DECLARE @Name nvarchar(50) SET @Name = '黃飛鴻' select @Name = Name from Person_1 where Id = 100 --100不存在記錄,此處如果改為一個Id存在的,且Name列不為null的值,則@Name變數的值就變了 PRINT @Name --依然列印的是黃飛鴻
可見,當SELECT表示式賦值時,如果為返回值,則保持原值。
區域性表變數是一個特殊的區域性變數。和臨時表不同,區域性表變數具有一切區域性變數的特點。在查詢中,因為區域性表變數是存在記憶體中,而不是硬碟中,所以速度會遠遠快於臨時表或是實際表。區域性表變數最多的使用是在查詢中充當多個表做連線時的中間表。
DECLARE @TempTable TABLE --宣告一個區域性表變數 ( Id int, Name nvarchar(50) ) INSERT INTO @TempTable --用查詢到的作為資料插入到區域性表變數 SELECT Id,Name FROM Person_1 SELECT * FROM @TempTable --和普通表一樣用,可以各種join,子查詢等等。
到此這篇關於SQL Server在T-SQL語句中使用變數的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45