成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

T-SQL查詢進階--變量

數據庫
變量對于一種語言是必不可少的一部分,當然,對于T-SQL來講也是一樣。在簡單查詢中,往往很少用到變量,但無論對于復雜的查詢或存儲過程中,變量都是必不可少的一部分.

概述

變量對于一種語言是必不可少的一部分,當然,對于T-SQL來講也是一樣。在簡單查詢中,往往很少用到變量,但無論對于復雜的查詢或存儲過程中,變量都是必不可少的一部分.

變量的種類

在T-SQL中,變量按生存范圍可以分為全局變量(Global Variable)和局部變量(Local Variable).

1.全局變量是由系統定義的,在整個SQL SERVER實例內都能訪問到的變量.全局變量以@@作為***個字符,用戶只能訪問,不能賦值。

2.局部變量由用戶定義,生命周期只在一個批處理內有效。局部變量以@作為***個字符,由用戶自己定義和賦值。

一個簡單的例子如下

因為全局變量僅僅是用于讀取系統的一些參數,具體每個全局變量所代表的含義請Google之…本文主要介紹局部變量(也就是用戶自定義變量).

局部變量的用途

在T-SQL中,局部變量是一個存儲指定數據類型單個值的對象.T-SQL中對變量的定義實際上和大多數高級語言一樣.

局部變量在使用中常常用于以下三種用途:

1.在循環語句中記錄循環的次數或者用于控制循環的次數.

2.用于存儲流程語句來控制流程走向

3.儲存存儲過程或者函數的返回值

實際上,存儲任何業務數據的局部變量都屬于這一類應用.

#p#

局部變量的聲明

局部變量的聲明必須以"DECLEAR"作為關鍵字,變量的命名必須以"@"作為變量名的***個字符.必須為所聲明的變量提供一個數據類型和數據長度.如:

局部變量的數據類型不能為Text,ntext,和Image類型,當對于字符型變量只提供數據類型沒有提供數據長度時,數據長度默認為1.

一切只聲明沒有賦值的局部變量的初始值都為”NULL”.

局部變量的賦值

在T-SQL中,局部變量的賦值是通過”Set”關鍵字和”Select”關鍵字實現的.

實際上,使用Set或者是Select取決于下面幾個因素

1.當對多個變量賦值時

SELECT關鍵字支持多個變量賦值,而SET關鍵字只支持一次對一個值賦值

2.當賦值時表達式返回值的個數

使用SET進行賦值時,當表達式返回多個值時,報錯.而SELECT關鍵字在賦值表達式返回多個值時,取***一個.

比如,假設XXX表只有以下幾條數據:

當使用SELECT關鍵字進行時,可以取返回值的***一個。

3.當表達式未返回值時

使用SET對局部變量賦值時,如果賦值表達式未返回值,則局部變量變為NULL,而SELECT對表達式賦值時,如果表達式未返回值,則局部變量保持原值.

4.當…你是一個標準愛好者時

堅決使用SET關鍵字對局部變量賦值吧,因為SET是ANSI標準……

5.當…你懶得記上述何時使用SET或是何時使用SELECT時

好吧,我承認我也很懶.那你按照一個簡單的方式區別:當你的賦值語句需要引用一個數據源(表)時,使用SELECT.除此之外,使用SET.

#p#

局部表變量

局部表變量是一個特殊的局部變量.和臨時表不同,局部表變量具有一切局部變量的特點.在查詢中,因為局部表變量是存在內存中,而不是硬盤中,所以速度會遠遠快于臨時表或是實際表,局部表變量最多的使用時在查詢中充當多個表做連接時的中間表,比如:

這樣會大大提高多表連接的查詢速度.

總結

本文介紹了變量種類以及局部變量的使用范圍,定義以及賦值方法.還簡單介紹了表變量。在復雜查詢中,系統的了解T-SQL的變量是寫出好的查詢語句必不可少的一部分。

 

原文鏈接:http://www.cnblogs.com/CareySon/archive/2011/10/11/2207330.html

【編輯推薦】

  1. 數據庫點滴之SQL級聯刪除
  2. 數據庫點滴之精妙SQL語句
  3. SQL點滴之性能優化其實沒有那么神秘
  4. SQL點滴之幾個有點偏的語句
  5. SQL點滴之如何編輯數據

 

 

責任編輯:艾婧 來源: CareySon的博客
相關推薦

2011-08-24 16:36:00

T-SQL

2011-07-18 14:38:44

子查詢外部查詢

2011-08-23 13:36:11

T-SQL查詢流程控制語句

2010-07-20 13:52:27

SQL Server

2010-07-06 10:36:35

SQL Server

2010-10-19 16:06:26

SQL Server索

2023-08-15 08:26:34

SQL Server查找死鎖

2011-08-12 10:31:01

T-SQL查詢基于列的邏輯表達式

2017-04-21 11:24:13

數據庫Azure T-SQL編輯器

2009-05-06 17:31:17

SQL EnlightT-SQL分析器

2010-12-06 09:26:23

SQL Server

2011-02-25 14:42:10

SQLwith關鍵字

2011-04-01 16:30:26

T-SQLDateTime

2010-07-19 13:22:45

SQL Server

2011-03-31 09:30:27

SQL Server數管理SQL

2013-01-05 13:49:00

2010-07-13 10:35:20

SQL Server2

2011-07-08 13:40:18

2011-04-01 15:53:20

T-SQLDateTime

2010-06-30 14:54:42

SQL Server
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美福利 | 蜜臀久久99精品久久久久野外 | 成人无遮挡毛片免费看 | 亚欧精品 | 一级毛片黄片 | 99久久精品国产毛片 | 亚洲色图综合 | www.47久久青青 | 亚洲在线高清 | 在线观看免费观看在线91 | 操视频网站 | 亚洲一区二区三区免费视频 | 日韩美av | 亚洲一区二区三区在线视频 | 一级大片网站 | 欧美日韩中 | 四虎影视一区二区 | 伊人免费观看视频 | 人人做人人澡人人爽欧美 | 9色网站 | 99精品在线| 国产精品久久久久久久久久久久久 | 国产精品毛片无码 | 天堂av中文在线 | 国产成人av在线播放 | 亚洲美乳中文字幕 | 九九久视频 | 一区二区三区国产好 | 日韩在线精品视频 | 日日干夜夜操天天操 | 国产不卡一区 | 欧美精品久久 | 九九热免费看 | 福利视频一区二区 | 日韩中文字幕在线不卡 | 午夜免费福利影院 | 一级黄色片美国 | 丝袜 亚洲 另类 欧美 综合 | av男人的天堂av | www.97zyz.com| 国产精品区一区二 |