ELSE (IF...ELSE) ELSE (IF...ELSE) - 北京怡康軟件科技有限公司 資源網(wǎng) "/>
在執(zhí)行 Transact-SQL 語句時強(qiáng)加條件。如果 Boolean_expression 取值為 TRUE,則執(zhí)行 Boolean_expression 后的 Transact-SQL 語句 (sql_statement)。當(dāng) Boolean_expression 取值為 FALSE 或 NULL時,則可選 ELSE 關(guān)鍵字為要執(zhí)行的 Transact-SQL 語句。
IF Boolean_expression
{ sql_statement | statement_block
}
ELSE
[
{ sql_statement | statement_block
} ]
Boolean_expression
返回 TRUE 或 FALSE 的表達(dá)式。如果布爾表達(dá)式中含有 SELECT 語句,必須用圓括號將 SELECT 語句括起來。
{sql_statement | statement_block}
是任何有效的 Transact-SQL 語句或以語句塊定義的語句分組。若要定義語句塊(批處理),采用控制流語言關(guān)鍵字 BEGIN 和 END。雖然所有的 Transact-SQL 語句在 BEGIN...END 塊內(nèi)都有效,但有些 Transact-SQL 語句不應(yīng)組合在同一個批處理(語句塊)中。
Boolean
當(dāng)至少一本書滿足這些條件時,這個示例會給出價格在 $10 與 $20 之間的傳統(tǒng)烹調(diào)書的列表。否則,SQL Server 會給出一條信息,說明沒有書滿足這個條件,并生成價格低于 $10 的傳統(tǒng)烹調(diào)書的列表。
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)文章