Sqlserver使用T-SQL編程

在T-SQL中變量分爲兩類,包括全局變量和局部變量

局部變量:1、局部變量必須以@作爲前綴。2、局部變量的使用是先聲明,後賦值。
全局變量:1、全部變量必須以@@作爲前綴。2、全局變量有系統定義和維護,只能讀取不能修改全局變量的值。

                                     SQL Server2008常用的全局變量
  變量名                                                作用  
  @@ERROR                                               返回執行的上一個Transac-SQL語句的錯誤號
  @@IDENTITY                                            返回最後插入的標識值
  @@MAX_CONNECTIONS                                     返回SQL Server實例允許同時進行的最大用戶連接數
  @@ROWCOUNT                                            返回受上一語句影響的行數,如果大於20億則使用ROWCOUNT_BIG
  @@SERVERNAME                                          返回運行SQL Server的本地服務器的名稱
  @@SERVICENAME                                         返回SQL Server正在運行的註冊表項的名稱,若當前實例爲默認實例,則@@SERVICENAME 返回MSSQLSERVER
                                                        若當前實例是命名實例,則函數返回該實例名
  @@TRANCOUNT                                            返回當前連接的活動事物數
  @@LOCK_TIMEOUT                                        返回當前會話的鎖定超時設置

定義局部變量並賦值
1、聲明局部變量
語法:DECLARE @varname DataType 例如:declare @varname varchar(20)
語法說明:@varname 爲局部變量名,DataType爲變量的數據類型
2、爲局部變量賦值
語法:SET @varname=VALUE或SELECT @varname=VALUE
*注意:SET關鍵字通常將已經確定的常量賦值給局部變量。SELECT關鍵字通常將從數據庫中查詢出的結果賦值給局部變量,
前提是查詢的結果必須和變量類型保持一致,或者是可以自動轉換的類型,如果查詢的結果超過一條記錄,則取最後一條記錄
值賦給局部變量。

TABLE數據類型
T-SQL中的變量類型可以是SQL Server中除了TEXT、TEXT、IMAGE外的所有類型,較爲特殊的如TABLE類型。TABLE類型定義的變量和普通
的表結構完全相同,因此該類型變量與臨時表的作用相似
實例如下:
--TABLE類型舉例
DECLARE @MyTable TABLE(ACCOUNT_NAME varchar(20),CODE varchar(18))
--爲TABLE類型的變量賦值
INSERT @MyTable SELECT '諸葛亮','421025522122512251' UNION
SELECT '周瑜','5522586456669988555'
SELECT * FROM @MyTable
--將變量的值插入ACCOUNT表中
INSERT INTO ACCOUNT SELECT ACCOUNT_NAME,CODE FROM @MyTable
SELECT * FROM ACCOUNT
GO

GO語句
T-SQL執行到GO語句時,SQLCMD和查詢窗口將GO前面已經定義的局部變量清楚,被GO
分開的局部變量不能共享。即GO 語句是作爲批處理語句的結束標記,可以控制T-SQL
變量的作用域。

SELECT在結果中輸出,PRINT在消息中輸出
*注意:PRINT語句數出的變量要求是字符串類型,否則將使用CONVERT函數進行轉換

邏輯運算符
1、ALL關鍵字:主要用於比較特定值與結果集的所有值之間的邏輯關係,結果爲布爾值。通常與比較運算符一起使用。
2、ANY關鍵字:主要用於比較特定值與結果集的所有值之間的邏輯關係,結果爲布爾值。通常與比較運算符一起使用。
3、EXISTS關鍵字:用於判斷查詢的結果集是否存在特定數據,若果存在則返回TRUE,否則返回FALSE.
 

 

 

 

 

 

 

 


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章