SQL Server控制語(yǔ)句的基本應(yīng)用_Mssql數(shù)據(jù)庫(kù)教程
推薦:SQL Server 2012 安裝圖解教程(附sql2012下載地址)在安裝微軟最新數(shù)據(jù)庫(kù)SQL Server 2012之前,編者先確定一下安裝環(huán)境:Windonws 7 SP1,32位操作系統(tǒng)、CPU是2.1GHz賽揚(yáng)雙核T3500,內(nèi)存2.93GB
1.語(yǔ)句塊(BEGIN…END)
語(yǔ)句塊語(yǔ)法如下:
BEGIN
<SQL語(yǔ)句或程序塊>
END
BEGIN…END用來(lái)設(shè)定一個(gè)語(yǔ)句塊,可以將多條Transact-SQL語(yǔ)句封裝起來(lái)構(gòu)成一個(gè)語(yǔ)句塊,在處理時(shí),整個(gè)語(yǔ)句塊被視為一條語(yǔ)句。BEGIN…END經(jīng)常用在條件語(yǔ)句中,如IF…ELSE 或WHILE循環(huán)中。BEGIN…END語(yǔ)句可以嵌套使用。
2.判斷語(yǔ)句(IF…ELSE)
通常計(jì)算機(jī)是按順序執(zhí)行程序中的語(yǔ)句,但是在許多情況下,語(yǔ)句執(zhí)行的順序以及是否執(zhí)行依賴于程序運(yùn)行的中間結(jié)果,在這種情況下,必須根據(jù)某個(gè)變量或表達(dá)式的值作出判斷,以決定執(zhí)行哪些語(yǔ)句或不執(zhí)行哪些語(yǔ)句。這時(shí)可以利用IF…ELSE語(yǔ)句作出判斷,選擇執(zhí)行某條語(yǔ)句或語(yǔ)句塊。
判斷語(yǔ)句語(yǔ)法如下:
IF <條件表達(dá)式>
<命令行或語(yǔ)句塊1>
[ ELSE [條件表達(dá)式]
<命令行或語(yǔ)句塊2> ]
3 檢測(cè)語(yǔ)句(IF…EXISTS)
IF…EXISTS語(yǔ)句用于檢測(cè)數(shù)據(jù)是否存在,而不考慮與之匹配的行數(shù)。對(duì)于存在性檢測(cè)而言,使用IF…EXISTS要比使用COUNT(*)>0好,效率更高,因?yàn)橹灰业降谝粋(gè)匹配的行,服務(wù)器就會(huì)停止執(zhí)行SELECT語(yǔ)句。
檢測(cè)語(yǔ)句語(yǔ)法如下:
IF [NOT] EXISTS (SELECT查詢語(yǔ)句)
<命令行或語(yǔ)句塊1>
[ELSE]
<命令行或語(yǔ)句塊2>
4 多分支判斷語(yǔ)句(CASE…WHEN)
CASE…WHEN結(jié)構(gòu)提供了比IF…ELSE結(jié)構(gòu)更多的選擇和判斷機(jī)會(huì),使用它可以很方便地實(shí)現(xiàn)多分支判斷,從而避免多重IF…ELSE語(yǔ)句嵌套使用。多分支判斷語(yǔ)句CASE…WHEN語(yǔ)法有兩種格式:
第一種格式語(yǔ)法如下:
CASE <算術(shù)表達(dá)式>
WHEN <算術(shù)表達(dá)式> THEN <運(yùn)算式>
WHEN <算術(shù)表達(dá)式> THEN <運(yùn)算式>
[ELSE <算術(shù)表達(dá)式>]
END
第二種格式語(yǔ)法如下:
CASE
WHEN <條件表達(dá)式> THEN <運(yùn)算式>
WHEN <條件表達(dá)式> THEN <運(yùn)算式>
[ELSE <運(yùn)算式>]
END
5 循環(huán)語(yǔ)句(WHILE)
循環(huán)語(yǔ)句可以設(shè)置重復(fù)執(zhí)行SQL語(yǔ)句或語(yǔ)句塊的條件,只要指定的條件為T(mén)RUE(條件成立),就重復(fù)執(zhí)行語(yǔ)句。
循環(huán)語(yǔ)句語(yǔ)法如下:
WHILE <條件表達(dá)式>
BEGIN
<命令行或程序塊>
[BREAK]
[CONTINUE]
[命令行或程序塊]
END
6 跳轉(zhuǎn)語(yǔ)句(GOTO)
使用跳轉(zhuǎn)語(yǔ)句GOTO可以改變程序執(zhí)行的流程,使程序跳到標(biāo)有標(biāo)識(shí)符的指定程序行,再繼續(xù)往下執(zhí)行,作為跳轉(zhuǎn)目標(biāo)的標(biāo)識(shí)符可以是數(shù)字與字符的組合,但必須以“:”結(jié)尾。
跳轉(zhuǎn)語(yǔ)句語(yǔ)法如下:
GOTO 標(biāo)識(shí)符:
7 返回語(yǔ)句(RETURN)
返回語(yǔ)句用于結(jié)束當(dāng)前程序的執(zhí)行返回到上一個(gè)調(diào)用它的程序或其它程序,在括號(hào)內(nèi)可指定一個(gè)返回值。返回語(yǔ)句可使程序從批處理、存儲(chǔ)過(guò)程、觸發(fā)器中無(wú)條件退出,不再執(zhí)行RETURN之后的任何語(yǔ)句。返回語(yǔ)句語(yǔ)法如下:
RETURN ([整數(shù)值])
8 延期執(zhí)行語(yǔ)句(WAIT…FOR)
WAITFOR語(yǔ)句用來(lái)暫時(shí)停止程序執(zhí)行,直到所設(shè)定的等待時(shí)間已過(guò)或所設(shè)定的時(shí)刻已到,才繼續(xù)往下執(zhí)行。其中時(shí)間必須為DATETIME 類型的數(shù)據(jù),延遲時(shí)間和時(shí)刻均采用“HH:MM:SS”格式,在WAITFOR語(yǔ)句中不能指定日期,并且時(shí)間長(zhǎng)度不能超過(guò)24小時(shí)。
延期執(zhí)行語(yǔ)句語(yǔ)法如下:
WAITFOR { DELAY <‘時(shí)間'> | TIME <‘時(shí)間'> }
sql_statement
DELAY:用來(lái)設(shè)定等待的時(shí)間間隔,最多可達(dá)24 小時(shí)。
TIME:用來(lái)設(shè)定等待結(jié)束的時(shí)間點(diǎn)。
sql_statement:設(shè)定的等待時(shí)間已過(guò)或所設(shè)定的時(shí)刻已到,要繼續(xù)執(zhí)行的SQL操作語(yǔ)句。
分享:SQL Server 游標(biāo)語(yǔ)句 聲明/打開(kāi)/循環(huán)實(shí)例游標(biāo)屬于行級(jí)操作 消耗很大 SQL查詢是基于數(shù)據(jù)集的所以一般查詢能有 能用數(shù)據(jù)集 就用數(shù)據(jù)集 別用游標(biāo) 數(shù)據(jù)量大 是性能殺手
- sql 語(yǔ)句練習(xí)與答案
- 深入C++ string.find()函數(shù)的用法總結(jié)
- SQL Server中刪除重復(fù)數(shù)據(jù)的幾個(gè)方法
- sql刪除重復(fù)數(shù)據(jù)的詳細(xì)方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無(wú)法查看數(shù)據(jù)庫(kù),提示 無(wú)法為該請(qǐng)求檢索數(shù)據(jù) 錯(cuò)誤916解決方法
- SQLServer日志清空語(yǔ)句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創(chuàng)建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統(tǒng)安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲(chǔ)過(guò)程參數(shù)的用法實(shí)例詳解
Mssql數(shù)據(jù)庫(kù)教程Rss訂閱編程教程搜索
Mssql數(shù)據(jù)庫(kù)教程推薦
- 怎樣從SQL Server備份文件導(dǎo)入現(xiàn)存數(shù)據(jù)庫(kù)
- 解析SQL Server 2005常見(jiàn)問(wèn)題
- 高手是怎樣煉成的:精妙SQL語(yǔ)句介紹
- 怎樣創(chuàng)建SQL Server 2000故障轉(zhuǎn)移群集
- 從Access數(shù)據(jù)庫(kù)到SQL Server高手
- 怎樣處理SQL Server日志文件總結(jié)及日志滿的問(wèn)題
- 解析SQL Server 2008對(duì)T-SQL語(yǔ)言的增強(qiáng)
- SQL Server各種日期計(jì)算方法之二
- Microsoft SQL Server 2008安裝圖解教程(Windows 7)
- SQL Server日志清除的兩種方法教程簡(jiǎn)介
猜你也喜歡看這些
- 網(wǎng)頁(yè)模板MySQL出現(xiàn)Can't create/write to file 'C:\Windows\TEMP\#sql_990_0.MYI解決辦法
- 如何通過(guò)SQL找出2個(gè)表里值不同的列的方法
- mysql的binlog太大太多占用大量磁盤(pán)的解決
- MySQL前綴索引導(dǎo)致的慢查詢分析總結(jié)
- 通過(guò)mysqladmin遠(yuǎn)程管理mysql的方法
- mysql服務(wù)器字符集查詢和設(shè)置方法
- MySQL 關(guān)于表復(fù)制 insert into 語(yǔ)法的詳細(xì)介紹
- PHP mysqli擴(kuò)展庫(kù) 預(yù)處理技術(shù)的使用分析
- 使用java處理字符串公式運(yùn)算的方法
- Mysql查看版本號(hào)的五種方式介紹
- 相關(guān)鏈接:
- 教程說(shuō)明:
Mssql數(shù)據(jù)庫(kù)教程-SQL Server控制語(yǔ)句的基本應(yīng)用
。