ELSE (IF...ELSE) ELSE (IF...ELSE) - 北京怡康軟件科技有限公司 資源網(wǎng) "/>
在執(zhí)行 Transact-SQL 語(yǔ)句時(shí)強(qiáng)加條件。如果 Boolean_expression 取值為 TRUE,則執(zhí)行 Boolean_expression 后的 Transact-SQL 語(yǔ)句 (sql_statement)。當(dāng) Boolean_expression 取值為 FALSE 或 NULL時(shí),則可選 ELSE 關(guān)鍵字為要執(zhí)行的 Transact-SQL 語(yǔ)句。
IF Boolean_expression
{ sql_statement | statement_block
}
ELSE
[
{ sql_statement | statement_block
} ]
Boolean_expression
返回 TRUE 或 FALSE 的表達(dá)式。如果布爾表達(dá)式中含有 SELECT 語(yǔ)句,必須用圓括號(hào)將 SELECT 語(yǔ)句括起來(lái)。
{sql_statement | statement_block}
是任何有效的 Transact-SQL 語(yǔ)句或以語(yǔ)句塊定義的語(yǔ)句分組。若要定義語(yǔ)句塊(批處理),采用控制流語(yǔ)言關(guān)鍵字 BEGIN 和 END。雖然所有的 Transact-SQL 語(yǔ)句在 BEGIN...END 塊內(nèi)都有效,但有些 Transact-SQL 語(yǔ)句不應(yīng)組合在同一個(gè)批處理(語(yǔ)句塊)中。
Boolean
當(dāng)至少一本書(shū)滿足這些條件時(shí),這個(gè)示例會(huì)給出價(jià)格在 $10 與 $20 之間的傳統(tǒng)烹調(diào)書(shū)的列表。否則,SQL Server 會(huì)給出一條信息,說(shuō)明沒(méi)有書(shū)滿足這個(gè)條件,并生成價(jià)格低于 $10 的傳統(tǒng)烹調(diào)書(shū)的列表。
USE pubs
GO
DECLARE @msg varchar(255)
IF (SELECT COUNT(price)
FROM titles
WHERE title_id LIKE 'TC%' AND price BETWEEN 10 AND 20) > 0
BEGIN
SET NOCOUNT ON
SET @msg = 'There are several books that are a good value between $10 and $20. These books are: '
PRINT @msg
SELECT title
FROM titles
WHERE title_id LIKE 'TC%' AND price BETWEEN 10 AND 20
END
ELSE
BEGIN
SET NOCOUNT ON
SET @msg = 'There are no books between $10 and $20. You might consider the following books that are under $10.'
PRINT @msg
SELECT title
FROM titles
WHERE title_id LIKE 'TC%' AND price < 10
END
下面是結(jié)果集:
There are several books that are a good value between $10 and $20. These books are:
title
------------------------------------------------------------------------
Fifty Years in Buckingham Palace Kitchens
Sushi, Anyone?
(2 row(s) affected)
相關(guān)文章